javascript - Webpack 在 bundle 中包含自己的依赖项
问题描述
我对 webpack 相当陌生,我有一个使用vue cli
. 在使用 分析 webpack 包(使用 内置于生产模式vue-cli-service build
)webpack-bundle-analyzer
时,我发现一个特定文件bn.js
多次包含在包中。运行时npm ls bn.js
我发现它的父依赖就是webpack
它本身。
`-- webpack@4.44.1
`-- node-libs-browser@2.2.1
`-- crypto-browserify@3.12.0
+-- browserify-sign@4.2.1
| +-- bn.js@5.1.3
| +-- browserify-rsa@4.0.1
| | `-- bn.js@4.11.9
| +-- elliptic@6.5.3
| | `-- bn.js@4.11.9
| `-- parse-asn1@5.1.6
| `-- asn1.js@5.4.1
| `-- bn.js@4.11.9
+-- create-ecdh@4.0.4
| `-- bn.js@4.11.9
+-- diffie-hellman@5.0.3
| +-- bn.js@4.11.9
| `-- miller-rabin@4.0.1
| `-- bn.js@4.11.9
`-- public-encrypt@4.0.3
`-- bn.js@4.11.9
所以我的问题是,为什么在项目中将 webpack 添加为 devDependency(之前它是一个依赖项,然后我将其更改为 devDepenency)时,webpack 在最终包中包含它自己的依赖项?
或者,如果这是正确的行为,请指出我解释此行为的任何文档/资源。
解决方案
好吧,事实证明这是一个 npm 的事情。早些时候,我将 webpack 作为package.json
. 然后我跑了npm uninstall webpack --save
,然后又跑了npm install webpack --save-dev
,以使其成为开发依赖项。事实证明这还不够。只有在我删除了我的 node_modules 文件夹然后再次执行 npm install 之后,我才停止在我的包中获取 webpack 依赖项。
推荐阅读
- r - R中的循环不断意外运行
- regex - 文本块中前 8 位数字的正则表达式,不包括大于 8 位的数字
- python - HTML 到 Word 文档
- python - 使用排序列更有效地获取数据框中最小元素的整体分布
- angular - 在所有组件中导入所有模型是不好的做法吗?
- windows - git - 切换到本地开发,然后返回功能分支重置修改/添加文件的状态
- mysql - 在这种情况下,是什么导致 MySQL 错误 1071(密钥太长)?
- reactjs - 使用 Reactjs 显示每个表单提交的 Json 响应数据
- android - 如何在 Xamarin Android 中获取导航栏高度?
- powershell - 从模块导出函数时,延迟绑定脚本块不起作用