我尝试使用electron-packager将我的电子项目构建到窗口应用程序但是我得到了这个错误。
无法从“/ var / www / windowapp / electron-angular-project / node_modules / @ angular-devkit / core / node_modules / chokidar”找到模块“fsevents”
This normally means that either you have deleted this package already somehow (check your ignore settings if using electron-packager). Or your module installation failed.
任何人都知道如何解决它以及发生了什么?
在这里我的2分,我做了一个没有错误的工作包,但也避免添加不必要的文件:
electron-packager . --no-prune --ignore=/node_modules --ignore=/e2e --ignore=/src
电子打包器期望你已经运行了角度构建过程:
ng build --prod
您可以在package.json
中添加此脚本:
"electron-package": "ng build --prod && electron-packager . --no-prune --ignore=/node_modules --ignore=/e2e --ignore=/src --overwrite"
然后运行:
npm run electron-package
在您的应用程序所在的目录中,尝试运行此命令
electron-packager . --no-prune
有关此命令的更多信息,请访问https://github.com/electron-userland/electron-packager/blob/master/usage.txt
这与问题#821in electron-packager有关,删除了可选的平台特定依赖项(可能仅在Windows上运行packager时)。
--no-prune在开发过程中解决了问题,但不适用于生产。
恢复到v11.2.0也解决了这个问题。
通过对Michael Denny "electron-package": "ng build --prod && electron-packager . --no-prune --ignore=/node_modules --ignore=/e2e --ignore=/src --overwrite"
提供的答案略有修改,我能够打包我的电子角7应用程序。请注意,根据具体情况,可能需要对这些命令进行微小的修改。就我而言,以下命令有效。
"electron-package": "ng build --prod --base-href ./ && electron-packager . --no-prune --ignore=/e2e --ignore=/src --overwrite"
有什么变化?
删除了--ignore=/node_modules
原因:如果我在构建时添加此选项,则在Module Not Found
错误中结束
添加了--base-href ./
原因:否则,结束时出现错误Failed to load resource: net::ERR_FILE_NOT_FOUND
通过这两个修改,我能够打包我的电子角度7应用程序。包的大小接近100MB。我正在寻找减少这种尺寸的方法。