我看到这是因为节点模块和应用程序打包了一些不想要的东西来运行。当前文件大小为600 mb,但我希望它小于200 mb。
我怀疑-没有修剪-填充包中的所有节点模块,但是我只需要在构建的包中指定节点模块。
我试着删除package.json中不需要的包,这也帮不了我
重构后的
"bundledDependencies": [
"fs",
"os",
"path",
"regedit",
"request",
"start",
"xml2js",
"util",
"replace",
"process",
"fs",
"console"
],
**before refactoring**
"bundledDependencies": [
"archiver",
"child_process",
"fs",
"node-wget",
"os",
"path",
"ping",
"regedit",
"request",
"start",
"xml2js",
"util",
"replace",
"process",
"fs",
"console",
"electron",
"electron-builder",
"electron-packager"
],这也帮不了我
package.json
{
"productName": "xyz",
"description": "something",
"version": "1.0.1",
"main": "main.js",
"scripts": {
"start": "electron .",
"builderForWindows": "electron-packager --out winx64 --overwrite --platform win32 --appname clientsettings . --executable-name abc --no-prune",
"builderForLinux": "electron-packager --out Linx64 --overwrite --platform linux --appname clientsettings . --executable-name abc --no-prune"
},
"author": "xyz",
"devDependencies": {
"archiver": "^2.1.1",
"asar": "^2.0.1",
"child_process": "^1.0.2",
"console": "^0.7.2",
"electron": "^4.0.4",
"electron-builder": "^20.41.0",
"electron-packager": "^13.1.1",
"fs": "0.0.1-security",
"node-wget": "^0.4.2",
"os": "^0.1.1",
"path": "^0.12.7",
"ping": "^0.2.2",
"regedit": "^3.0.2",
"replace": "^1.1.0",
"replace-in-file": "^4.1.0",
"request": "^2.85.0",
"start": "^5.1.0",
"xml2js": "^0.4.19"
},
"bundledDependencies": [
"archiver",
"child_process",
"fs",
"node-wget",
"os",
"path",
"ping",
"regedit",
"request",
"start",
"xml2js",
"util",
"replace",
"process",
"fs",
"console",
"electron",
"electron-builder",
"electron-packager"
],
"dependencies": {
"appdata-path": "^1.0.0",
"targets": "^1.11.0"
}
}发布于 2019-07-06 16:26:01
App有一些不必要的节点模块(例如:电子包,电子构建器),为什么在捆绑之后我需要它们,如何摆脱它们?
"bundledDependencies“中列出的所有内容都将包含在应用程序包中。
"bundledDependencies": [
"archiver",
"child_process",
"fs",
"node-wget",
"os",
"path",
"ping",
"regedit",
"request",
"start",
"xml2js",
"util",
"replace",
"process",
"fs",
"console",
"electron",
"electron-builder",
"electron-packager"
], "builderForWindows": "electron-packager --out winx64 --overwrite --platform
win32 --appname clientsettings . --executable-name abc --no-prune",指定"no“-请参见此答案:https://stackoverflow.com/a/44156640/840992
小心不要在你的最后一个应用程序中包括你不想要的node_modules。如果将它们放在package.json的package.json部分,默认情况下,与这些依赖项相关的模块都不会被复制到应用程序包中。(此行为可以使用-不修剪标志关闭。)
来自电子包装机API页面关于--剪枝标志
运行package.json命令,从输出的电子应用程序中删除package.json的package.json部分中指定的所有包。
https://stackoverflow.com/questions/56907635
复制相似问题