5

私は現在、ある時点で 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

これはNode APIのasar の制限によるものだと思いますが、Windows の260 文字パスの長さの制限により、アプリをasarにパックする必要があります。

asarパッケージ--unpack-dir 'node_modules'をビルドするときにもこのオプションを使用してみまし たが、問題は解決しません。

エラーを再現

git clone https://github.com/Graphfx/html2pdf
cd html2pdf
npm install
npm run asar-pack
npm run start-asar

誰かがこの問題を解決する方法を知っていますか?

4

0 に答える 0