私は現在、ある時点で 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
誰かがこの問題を解決する方法を知っていますか?