晚上,
我正在研究使用电子来打包现有的 angular2 构建。我以为我进行了试运行,但实际包装似乎失败了(请参阅下面的最后一步),我想了解原因。这就是我正在做的...
创建项目
使用angular-cli开始一个新项目ng new electron-ng2-cli --style=scss
安装电子和电子生成器
编辑 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我刚刚从电子快速
入门中复制了代码。我所做的唯一更改是我设置的位置index.html
/dist/index.html
修改base改为
_index.html
<base="/">
<base="./">
打包代码
运行ng build
。这会将所有打包的代码放入/dist
试运行
运行npm run electron
。这工作正常。一个 Electron 应用程序启动,我看到其中运行有角度的东西。
为分发
运行创建应用程序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
吗?
我可以做些什么来解决这个问题并让应用程序正常运行?
谢谢你坚持到最后。这比我想要的要长,但我希望我能解释清楚。如果您能提供帮助或提供任何好的建议 - 在您的总体方向上会考虑到许多良好的氛围 :)
祝大家欢呼