我用Electron在Windows上编写了一个小应用程序,其中包含检查注册表以获取有关某些已安装软件的信息的功能,并且我需要在另一台机器上运行该应用程序进行测试。因此,我正在尝试打包我的应用程序。
首先,重要的是要注意,当我在项目的根目录中运行
我尝试手动打包应用程序,将我的应用程序放置在
我安装了electron-packager模块,并尝试使用它来打包应用程序。但它什么也不做。没有控制台输出,它只是坐在那里一段时间然后退出。当它退出时,没有打包的应用程序。什么也没变。我尝试了electron-builder并得到了同样的结果。
我对Node.js还比较陌生,所以我怀疑我可能只是做错了什么。这是我的package.json文件(我仍然不完全理解它的目的):
首先,重要的是要注意,当我在项目的根目录中运行
>electron .
时,它可以正常运行。我尝试手动打包应用程序,将我的应用程序放置在
resources\app
文件夹下并运行Electron.exe。但它不起作用。Electron应用程序在任务管理器中启动,然后很快退出。没有任何错误或警告。没有对话框或其他任何内容。我安装了electron-packager模块,并尝试使用它来打包应用程序。但它什么也不做。没有控制台输出,它只是坐在那里一段时间然后退出。当它退出时,没有打包的应用程序。什么也没变。我尝试了electron-builder并得到了同样的结果。
我对Node.js还比较陌生,所以我怀疑我可能只是做错了什么。这是我的package.json文件(我仍然不完全理解它的目的):
{
"name": "welcome",
"version": "0.1.0",
"description": "",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "electron .",
"compile": "node .\\node_modules\\webpack\\bin\\webpack.js",
"prep": "robocopy . releases\\app /XD node_modules releases blah /S /MIR /XF *.jsx \"webpack.config.js\" && robocopy node_modules\\winreg releases\\app && robocopy node_modules\\path releases\\app",
"package": "asar pack .\\releases\\app .\\releases\\app.asar",
"build": "electron-packager releases\\app WelcomeApp --ignore=node_modules --platform=win32 --arch=x64 --output=releases"
},
"author": "",
"license": "ISC",
"babel": {},
"dependencies": {
"electron": "^1.3.4",
"path": "^0.12.7",
"react": "^15.3.0",
"react-dom": "^15.3.0",
"winreg": "^1.2.1"
},
"devDependencies": {
"babel-core": "^6.13.1",
"babel-loader": "^6.2.4",
"babel-preset-es2015": "^6.13.1",
"babel-preset-react": "^6.11.1",
"electron-builder": "^5.34.1",
"electron-packager": "^7.7.0",
"webpack": "^1.13.1"
}
}
我的目录结构如下:
Welcome
|____app
| |____src
| | |____dist
| | | |____bundle.js
| | |____react
| | | |____components
| | | | |____installation.jsx
| | | | |____...
| | | | |____software.jsx
| | | |____index.jsx
| | |____util
| | |____data.js
| |____app.html
|____node_modules
| |____...
|____main.js
|____package.json
|____webpack.config.js
据我所见,我所做的还没有问题。而且正如我所说的,在使用Electron CLI (electron .
) 运行时,它工作得非常好。因此,我很困惑。我只能推测package.json可能出了问题。是否存在问题?当运行打包程序时,为什么我没有看到任何控制台输出?