构建我的电子应用程序时出错

问题描述 投票:0回答:3

我在使用 electron-builder 构建 Node JS/电子应用程序时遇到了问题。运行时效果非常好

npm start
。但是,当我执行命令
build -w
(对于 Windows)时,它失败并显示 this log

这是我的 JSON 文件:

{
  "name": "Munshiiii",
  "version": "1.0.0",
  "description": "This is a short Description of the project",
  "main": "index.js",
  "scripts": {
    "start": "electron .",
    "dist": "build -w"
  },
  "author": "Hicham Dbiza",
  "license": "ISC",
  "devDependencies": {
    "electron": "1.7.8",
    "electron-prebuilt": "^1.4.13"
  },
  "dependencies": {
    "asar": "^0.13.0",
    "cradle": "^0.7.1",
    "fs": "0.0.1-security",
    "git": "^0.1.5",
    "jquery": "^3.2.1",
    "jsdom": "^11.3.0",
    "loke-ipc": "^1.0.5",
    "mongodb": "^2.2.33",
    "node-couchdb": "^1.2.0",
    "pouchdb": "^6.3.4",
    "pouchdb-replication-stream": "^1.2.9",
    "scanner.js": "^1.0.0"
  },
  "build":{
    "appId": "com.hicham.dbiza.faizan",
    "win":{
        "target": "nsis",
        "icon": "build/Munshiiii.ico"
    }
  }
}

对于这个项目我使用:

  • fs
  • pouchdb
  • 电子
  • jquery
  • ....

我已经使用了 electro-packager,它几乎可以很好地解决一个问题:See this picture,这意味着 js 文件内的所有链接(例如:fs.readFileSync('./assets/state','utf8'))都不会'不工作。 我还添加了一些本机 js 单击和按键监听器...这会是一个问题吗?

我的电子版本是1.7.8。

感谢您的帮助。

javascript node.js electron fs pouchdb
3个回答
0
投票

你安装了吗

electron-builder
?你的 package.json 中没有它。然后我建议使用
electron-builder
命令,如 作者推荐

运行

npm install electron-builder --save-dev
并将
dist
命令更改为仅运行
electron-builder
。由于电子构建器针对当前运行的操作系统进行默认构建,因此无需发送
-w
标志。如果您仍然遇到问题,请尝试设置以下环境变量以获得更好的堆栈跟踪

DEBUG=electron-builder,electron-builder:*

从评论中获取更多信息后进行编辑: 根据 GitHub 上的此问题,您的第一个问题似乎是由权限错误引起的,并通过以管理员身份运行解决了。

来自电子构建者自述文件

Yarn is strongly recommended instead of npm.

yarn add electron-builder --dev

尝试删除您的

node_modules
文件夹并运行

npm install yarn -g && yarn && yarn pack

0
投票

首先我使用以下行安装了电子构建器

npm install -g electron-builder

然后我在项目的根目录中创建了一个构建文件夹,其中包含带有应用程序徽标的 .ico 文件。然后我在 package.json 中编写了以下部分

"build": {
"appId": "your.app.id",
"productName": "Your final product name"
}

"scripts": {
"start": "electron .",
"pack": "build --dir"
}

这就是我所需要的一切。我在终端中打开根文件夹并执行

build -w

这创建了一个名为 dist 的文件夹,其中包含我的应用程序的解压版本以及该应用程序的安装程序。


0
投票

强烈建议使用 Yarn 而不是 npm。

yarn add electron-builder --dev

如果您正在使用 Npm
只需执行简单的步骤终端即可:

1

npm install yarn -g

2
yarn

3
yarn pack

阅读此博客(带有.exe文件的ElectronApp中的reactJS)

© www.soinside.com 2019 - 2024. All rights reserved.