我创建了一个简单的webpack 4演示项目,该项目没有任何配置。我添加了一个简单的index.js,它仅打印出一条简单的行,并且一切正常。 900字节的main.js会按预期生成。
但是,当我需要24kb库'sjcl'(具有0个依赖项)然后执行构建时,会生成一个400kb文件。我已经使用分析器对正在发生的事情有任何想法?
这就像webpack正在导入大量依赖项来处理该库一样。我该如何缓解呢?
index.js
require("sjcl");
console.log("hello world");
package.json
{
"name": "js-demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "webpack"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"sjcl": "1.0.7"
},
"devDependencies": {
"webpack": "4.16.5",
"webpack-cli": "3.1.0"
}
}
警告资产大小限制:以下资产超出了 建议的大小限制(244 KiB)。这可能会影响网络性能。 资产:main.js(323 KiB)
下面是我的分析器: https://pastebin.com/iguWmmaS
答案 0 :(得分:0)
像webpack一样,将捆绑包中与浏览器兼容的版本添加到节点加密模块中,从而大大增加了大小。为防止Webpack这样做,您可以对webpack使用以下选项来忽略该库。
module: {
noParse: [
/sjcl\.js$/,
]
}