首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何减少超过600 mb的电子封装尺寸

如何减少超过600 mb的电子封装尺寸
EN

Stack Overflow用户
提问于 2019-07-05 18:12:27
回答 1查看 2.6K关注 0票数 0

我看到这是因为节点模块和应用程序打包了一些不想要的东西来运行。当前文件大小为600 mb,但我希望它小于200 mb。

我怀疑-没有修剪-填充包中的所有节点模块,但是我只需要在构建的包中指定节点模块。

我试着删除package.json中不需要的包,这也帮不了我

重构后的

代码语言:javascript
复制
 "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

代码语言:javascript
复制
{
  "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"
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-06 16:26:01

App有一些不必要的节点模块(例如:电子包,电子构建器),为什么在捆绑之后我需要它们,如何摆脱它们?

"bundledDependencies“中列出的所有内容都将包含在应用程序包中。

代码语言:javascript
复制
  "bundledDependencies": [
    "archiver",
    "child_process",
    "fs",
    "node-wget",
    "os",
    "path",
    "ping",
    "regedit",
    "request",
    "start",
    "xml2js",
    "util",
    "replace",
    "process",
    "fs",
    "console",
    "electron",
    "electron-builder",
    "electron-packager"
  ],
代码语言:javascript
复制
  "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部分中指定的所有包。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56907635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档