夕方、electronを使用して既存の angular2 ビルドをパッケージ
化することを検討しています。ドライランが機能していると思っていましたが、実際のパッケージングは失敗しているようで (以下の最終ステップを参照)、その理由を理解したいと考えています。これが私がやっていることです...
プロジェクトの作成angular-cli
を
使用して新しいプロジェクトを開始しますng new electron-ng2-cli --style=scss
electron とelectron-builderをインストールします
package.json
の編集 以下の追加を行います...
"main": "main.js"
"build":
{
"appId": "com.electrontest.testapp",
"mac": {
"category": "your.app.category.type"
}
}
scripts
そして...に以下を追加します
"pack": "build --dir",
"dist": "build",
"electron": "electron main.js",
"postinstall": "install-app-deps"
main.js を作成します。electronクイック スタート
からコードをコピーしました。私が行う唯一の変更は、設定した場所に対するものですindex.html
/dist/index.html
修正ベース変更
中index.html
<base="/">
<base="./">
コード実行をパックしng build
ます。これにより、パッケージ化されたすべてのコードが/dist
テスト実行
実行npm run electron
。これはうまくいきます。Electron アプリが起動し、Angular が実行されていることがわかります。
配布用アプリの作成 パッケージ化されたアプリを作成するために
実行します。npm run pack
パッケージングは問題ないようです。アイコンが見つからないという警告と、コードが署名されていないという警告が表示されますが、致命的ではないと思いますか?
問題は、ダブルクリックしてアプリを実行するFinder
と、コンソールに次のようなエラーが表示されることです。Not allowed to load local resource: file:///Users/<username>/Documents/development/electron-ng2-cli/dist/mac/electron-ng2-cli.app/Contents/Resources/app.asar/dist/index.html
それで、失敗したパッケージ化されたアプリと、私が使用したときに正常に実行されたアプリの違いを誰かが説明できます
npm run electron
か?
この問題を修正してアプリを正しく実行するにはどうすればよいですか?
最後までお付き合いいただきありがとうございました。これは私が望んでいたよりも長くなりましたが、うまく説明できれば幸いです。あなたが助けたり、何かアドバイスをしたりすることができれば、あなたの一般的な方向性に多くの良いバイブが考えられます:)
乾杯