2

我正在尝试启动一个 Electron 项目,但运行ionic capacitor run electron会导致空白屏幕显示 5 个控制台错误GET file:///c:/runtime.js net:ERR_FILE_NOT_FOUND

我很确定这与<base href="/">需要更改为有关,<base href="./">但我无法坚持更改。

如果我手动更改基本标签,/www/index.html则运行ionic capacitor run electron中的值<base>会自动更改回默认值。

使更改坚持下去以便我可以构建 Electron 应用程序的正确方法是什么?重现步骤:

1. ionic start test blank --capacitor --type angular
2. cd test
3. open `/tsconfig.json` and change `target` from `es2015` to `es5`
4. ionic build
5. open `/www/index.html` and change `<base href="/">` to <base href="./">`
6. ionic cap add electron
7. ionic cap run electron

第 7 步是<base>再次被覆盖的地方,因为我看到app:build终端中列出了运行......关于如何让它按预期工作的任何建议?我想有比手动更改代码更好的方法,因为这在生产应用程序中看起来很乏味

4

3 回答 3

2

只是想知道你是否还有这个问题?

如果是,请尝试npx cap copy在每次构建后运行以将 Web 内容与 Electron 同步。

此外,您还可以更改基本标签,/src/index.html因此您无需/www/index.html在每次构建后更新它。

希望这可以帮助!

于 2020-05-21T17:42:28.247 回答
0

偶然发现了这个问题。这是一个对我来说很好的工作流程。还包括 npm 包electron-packager,它有助于将电子输出捆绑到可分发的二进制文件中。

包.json:

{
  // ...

  "scripts": {
    // ...
 
    "package:electron:windows": "electron-packager ./electron MyApp --platform=win32 --arch=x64 --out=./release --overwrite",
    "package:electron:macos": "electron-packager ./electron MyApp --platform=darwin --arch=x64 --out=./release --overwrite",
    "build:electron": "ng build --base-href ./ && ionic cap sync electron --no-build",
    "build:electron:windows": "npm run build:electron && npm run package:electron:windows",
    "build:electron:macos": "npm run build:electron && npm run package:electron:macos"
  }
  
  // ...
}

因此,然后使用一个命令行npm run build:electron:windows,或者npm run build:electron:macos它将在一个名为的文件夹中创建可分发文件release

于 2021-04-02T01:44:16.027 回答
0

尝试切换步骤 4 和 5。
我的意思是,先更改index.html(步骤 5)然后执行ionic build(步骤 4)。

于 2021-06-22T23:12:48.713 回答