【发布时间】:2019-11-17 20:49:59
【问题描述】:
我看到这是因为节点模块和应用程序打包了一些不需要的东西来运行。当前文件大小为 600 mb,但我希望它小于 200 mb。
我怀疑 --no-prune 填充了构建的包中的所有节点模块,但我只需要在构建的包中指定节点模块
我尝试删除 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"
}
}
【问题讨论】:
-
查看您的应用程序包以了解实际包含的内容。你可能会感到惊讶。
-
App Bundle 中有一些不必要的节点模块(例如:electron-packager,electron-builder),为什么我在捆绑后需要它们,如何摆脱它们?
标签: javascript electron package.json electron-builder electron-packager