Как сделать сборку с помощью preact-cli + jspdf

Я пытаюсь сохранить файл PDF с помощью jspdf на шаблоне preact-cli . Я начинаю свой проект нормально:

npx preact-cli create <template-name> <app-name>

После npm install --save jspdf, я использую этот код для сохранения файла (связанного с кнопкой):

      import { jsPDF } from "jspdf";


const geraPdf = (props) => {
    const doc = new jsPDF();

    doc.text("Hello world! " + props, 10, 10);
    doc.save("a4.pdf");

}

export default geraPdf

Когда я запускаю его на сервере разработки ( npm run dev) работает нормально. Но я не могу собрать его в производство ( npm run build)

Вот моя ошибка:

ОШИБКА Выполнение шаблона не выполнено: TypeError: Невозможно прочитать свойство 'bind' неопределенного × ОШИБКА TypeError: Невозможно прочитать свойство 'bind' неопределенного

  • ssr-bundle.js:5474 Object.6PsSXXXXXXXXXXXXXXXXXXXXXXXX/build/ssr-build/ssr-bundle.js:5474:39

  • ssr-bundle.js: 27 webpack_requireXXXXXXXXXXXXXXXXXXXXXXXX/ANPP/build/ssr-build/ssr-bundle.js:27:30

  • ssr-bundle.js:2661 Object./jycXXXXXXXXXXXXXXXXXXXXXXXX/ANPP/build/ssr-build/ssr-bundle.js:2661:16

  • ssr-bundle.js: 27 webpack_requireXXXXXXXXXXXXXXXXXXXXXXXX/ANPP/build/ssr-build/ssr-bundle.js:27:30

  • ssr-bundle.js:92XXXXXXXXXXXXXXXXXXXXXXXX/build/ssr-build/ssr-bundle.js:92:18

  • ssr-bundle.js:95 Объект. XXXXXXXXXXXXXXXXXXXXXXXX/сборка/ssr-сборка/ssr-bundle.js:95:10

  • loader.js:1200 Module._compileinternal/modules/cjs/loader.js:1200:30

  • loader.js:1220 Object.Module._extensions..js внутренний/модули/cjs/loader.js:1220:10

  • loader.js:1049 Module.load внутренний/модули/cjs/loader.js:1049:32

  • loader.js:937 Function.Module._load внутренний/модули/cjs/loader.js:937:14

  • loader.js:1089 Module.require внутренний/модули/cjs/loader.js:1089:19

  • helpers.js:73 требуют внутренних/модулей/cjs/helpers.js:73:18

  • prerender.js:32 prerender[XXXX]/[preact-cli]/lib/lib/webpack/prerender.js:32:11

  • render-html-plugin.js:37 Object.ssr[XXXX]/[preact-cli]/lib/lib/webpack/render-html-plugin.js:37:55

  • template.html:110 t41+.module.exports[XXXX]/[preact-cli]/lib/resources/template.html:110:37

  • index.js:264[XXXX]/[html-webpack-plugin]/index.js:264:16

Глядя на JSPDF, они предлагают использовать пользовательскую конфигурацию веб-пакета:

      // webpack.config.js
module.exports = {
  // ...
  externals: {
    // only define the dependencies you are NOT using as externals!
    canvg: "canvg",
    html2canvas: "html2canvas",
    dompurify: "dompurify"
  }
};

Preact-CLI использует пользовательскую конфигурацию веб-пакета. Вы должны создать файл с именем preact.config.js, чтобы внести изменения в веб-пакет, но теперь у меня есть идея, как реализовать это в файле preact, и я не знаю, сработает ли это.

Любая добрая душа, чтобы помочь мне?

0 ответов

Другие вопросы по тегам