繁体   English   中英

使用 electron-builder 和 webpack 在 main.js 中使用 node-modules

[英]Using node-modules in main.js using electron-builder and webpack

首先,我不知道我遇到的问题是由于 webpack 或 electron-builder 还是两者的组合。

到问题。 当我为开发而构建时,我可以在我的 package.json 文件{"main" : "app/main.js"}中指定的 main.js 文件中使用已安装的节点模块。

但是,当我使用电子生成器创建安装程序时。 当我使用安装程序安装应用程序时,我在启动应用程序时收到以下错误消息: 错误信息

我的猜测是我收到此消息是因为 main.js 找不到所需的节点模块。 那么如何让它们可用呢?

我希望有人比我更聪明,我们更擅长谷歌搜索:)

包.js:

 { "main": "app/main.js", "scripts": { "hot-server": "node hot-server.js", "build-bundle": "rimraf app/dist.release && better-npm-run build-bundle", "start": "better-npm-run start", "start-hot": "better-npm-run start-hot", "backend": "node backend-dummy.js", "dist-win": "npm run build-bundle && rimraf dist && build --win --ia32", "dist-mac": "npm run build-bundle && rimraf dist && build --mac" }, "betterScripts": { "start": { "command": "electron ./", "env": { "NODE_ENV": "production" } }, "start-hot": { "command": "electron ./", "env": { "HOT": 1, "NODE_ENV": "development" } }, "build-bundle": { "command": "webpack --config webpack.config.production.js --progress --profile --colors", "env": { "NODE_ENV": "production" } } }, "bin": { "electron": "./node_modules/.bin/electron" }, "build": { "appId": "app", "files": [ "dist.release/*", "dist.resources/*", "main.js", "thirdparty/*", "app.html" ], "extraFiles": [ "lang/*", { "from": "build/extra", "to": "./", "filter": "**/*" } ], "asar": true }

所以我找到了解决我的问题的方法。 我所做的是我查看了这个项目: https ://github.com/chentsulin/electron-react-boilerplate

他们有一个特殊的 webpack.config.electron.js 文件,它将 main.development.js 文件的所有 node_modules 捆绑到一个包含我们需要的一切的 main.js 文件中。 然后当电子程序启动时,它使用这个 main.js 包来运行。 要做到这一点,你需要在你的 package.json 文件中添加一个构建脚本来执行 webpack.config.electron.js。

我认为通过查看链接项目比我解释更容易理解如何解决它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM