electronic-builderがパッケージ化された後、ローカルリソースをロードできませんが表示されます:



After Electron Builder Is Packaged

私は電子に従事し始めました。 reactとelectronを統合した後、ローカルノードがサービスを開始し、すべてが完璧であるように見えましたが、reactをビルドファイルにパッケージ化すると、

main.jsを変更しました



mainWindow.loadURL(url.format({ pathname: path.join(__dirname, './build/index.html'), protocol: 'file:', slashes: true }))

電子ビルダーを使用してパッケージ化します。ビルド構成は次のとおりです。

'build': { 'appId': 'com.XXX.app', 'directories': { 'output': 'builder' }, 'win': { 'target': [ 'nsis', 'zip' ] } },

しかし、それは走った後に現れました



この状況には2つの可能性があります。

1. file://のようなローカルファイルがhtmlファイルにロードされます



2.electron-builderはビルドフォルダーをパッケージ化しませんでした

調査の結果、electron-buildはビルドフォルダーをapp.asarファイルにパッケージ化していないことが判明しました。

解決:

'build': { 'appId': 'com.wss.app', 'directories': { 'output': 'builder' }, 'win': { 'target': [ 'nsis', 'zip' ] }, 'files': [ 'build/**/*', 'main.js', 'public/preload.js' ] },

ビルド構成にファイルファイルを追加します。これは、すべてをパッケージ化することを意味します。最も重要なことは、main.jsが内部にある必要があるということです。