Electronプロジェクト構築、パッケージング実践及びピット回避
2112 ワード
プロジェクトアーキテクチャはReact+electronであり、通常のreactプロジェクトを直接使用し、electron構成を加えることができます.Electron構成は、プロジェクト
パッケージ構成:まずpackage.jsonにパッケージツール依存 を追加は、以下の構成 を追加する. package.jsonのscriptsは、次のパッケージコマンド を追加する.
注意事項:--platformはパッケージするプラットフォームを指定することが望ましいが、all の指定は推奨されない.--outはbuildとして指定する必要はありません.パッケージ化後にbuildディレクトリがないという問題が発生します.また、ここでは絶対パス を使用します. mainを構成する.js
多くのブログで貼られているロードアプリは、このようなものです.
あるいはpathパッチを使用しているなど、ファイルが見つからないか、次のようにエラーが発生する可能性があります.
次の方法を使用します.
また、main.jsにこの独立した方法があれば、
コメントをお勧めします.ここにバグがあります.アプリケーションの起動中にクリックするとエラーが表示されます.
私はもうelectronにissueを話して、修復すると返事しました.
この方法を使用する場合はappに置きます.whenReady()にあります.
https://github.com/electron/electron-quick-start.git
から取得することができる.パッケージ構成:
"devDependencies": {
"electron-packager": "^14.2.1"
}
"homepage": "."
"package": "electron-packager . demo --platform=darwin --arch=x64 --out=/Users/test/build --electron-version=8.2.3 --overwrite"
注意事項:
多くのブログで貼られているロードアプリは、このようなものです.
// index.html
mainWindow.loadURL('file://' + __dirname + '/index.html');
あるいはpathパッチを使用しているなど、ファイルが見つからないか、次のようにエラーが発生する可能性があります.
electron Not allowed to load local resource
次の方法を使用します.
mainWindow.loadFile(`./build/index.html`)
また、main.jsにこの独立した方法があれば、
app.on('activate', function () {
log.info("activate");
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
})
コメントをお勧めします.ここにバグがあります.アプリケーションの起動中にクリックするとエラーが表示されます.
Uncaught Exception:
Error: Cannot create BrowserWindow before app is ready
at createWindow (/Users/test/Documents/wsWP/react-cn-mirrot/build/CN-Mirror-darwin-x64/CN-Mirror.app/Contents/Resources/app/main.js:11:24)
at App. (/Users/test/Documents/wsWP/react-cn-mirrot/build/CN-Mirror-darwin-x64/CN-Mirror.app/Contents/Resources/app/main.js:98:9)
at App.emit (events.js:210:5)
私はもうelectronにissueを話して、修復すると返事しました.
この方法を使用する場合はappに置きます.whenReady()にあります.