我目前正在开发一种电子应用,它在某些时候可以将HTML文件转换为PDF文件。为此,我使用基于html-pdf
的本机节点模块phantomjs
。
当应用程序未打包但在 asar 下时,它运行良好,有未捕获的异常,因为html-pdf
无法生成子进程。
堆栈错误
internal/child_process.js:302 Uncaught Error: spawn ENOTDIR
exports._errnoException @ util.js:890
ChildProcess.spawn @ internal/child_process.js:302
exports.spawn @ child_process.js:379
PdfExec @ /Users/graphfx/html2pdf/html2pdf.asar/node_modules/html-pdf/lib/…:87
PdfToFile @ /Users/graphfx/html2pdf/html2pdf.asar/node_modules/html-pdf/lib/…:83
convert @ index.html:35
onclick @ index.html:19
我认为这是由于 asar Limitations on Node API,但由于 260字符路径长度,我确实需要在 asar 中打包我的应用在Windows上限制。
我在构建 asar 包时尝试使用选项--unpack-dir 'node_modules'
,但问题仍然存在。
重现错误
git clone https://github.com/Graphfx/html2pdf
cd html2pdf
npm install
npm run asar-pack
npm run start-asar
有人知道如何解决这个问题吗?