构建我的电子应用时出错

时间:2017-10-21 21:10:05

标签: javascript node.js electron fs pouchdb

在使用电子修建器构建我的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的
  • ....

我已经使用过电子打包器,它只能解决一个问题:See this picture,这意味着js文件中的所有链接(例如:fs.readFileSync(' ./ assets / state&#39) ;,' utf8'))不会工作。 我还添加了一些原生的js click和keypress听众......这可能是个问题吗?

我的电子版是1.7.8。

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

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

yarn add electron-builder --dev

如果您使用的是 Npm
只需简单的步骤终端:

1 npm install yarn -g
2 yarn
3 yarn pack

Read this Blog (reactJS in electronApp with .exe file)

答案 1 :(得分:0)

您安装了electron-builder吗?你的package.json中没有它。然后我建议使用npm install electron-builder --save-dev命令,Android Monitor

运行dist并将electron-builder命令更改为仅运行-w。由于电子构建器是针对当前运行的OS的默认构建,因此不必发送DEBUG=electron-builder,electron-builder:* 标志。如果您仍遇到问题,请尝试设置以下env变量以获取recommended by the authors

Yarn is strongly recommended instead of npm.

yarn add electron-builder --dev

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

来自better stack trace

node_modules

尝试删除npm install yarn -g && yarn && yarn pack 文件夹并运行

const DEFAULT_TOKEN

答案 2 :(得分:0)

首先我用以下行安装了电子制造商

npm install -g electron-builder

然后我在项目的根目录中创建了一个构建文件夹,其中包含带有app徽标的.ico文件。然后我在package.json

中写了以下部分
"build": {
"appId": "your.app.id",
"productName": "Your final product name"
}

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

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

build -w

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