[英]Do you put Babel and Webpack in devDependencies or Dependencies?
[英]Do devDependencies affect bundle size?
我仔细看了看,找不到这个问题的直接答案。
我添加为devDependencies
的包实际上最终会出现在生产包 JS 文件中并因此影响其大小吗? 或者它只是进入捆绑包的dependencies
?
不,它不会影响您的包大小,因为这些包仅在开发模式下使用。 让我们举一个像typescript
这样的示例包
devDependencies: {
"typescript": "~3.2.5"
}
所以我只需要打字稿编译器,就在开发模式下进行 linting。 而且我实际上并没有在我的项目中导入打字稿,因为它仅用于开发模式。 因此,如果您正在使用 webpack 并且您没有在项目 webpack 中的任何位置导入 typescript,您是否会通过摇树来消除生产构建不需要的代码,这样 bundle 就不会受到影响。
答案并不像看起来那么容易。 这里是澄清: https : //github.com/webpack/webpack/issues/520#issuecomment-174011824
并在此处添加相关片段:
webpack 构建的浏览器应用程序没有运行时节点依赖项,因此所有前端依赖项都应列为 devDependencies。 依赖与 devDependencies 命名约定历史上源于 node 作为服务器端包管理器,它被滥用到前端包管理器中,这就是为什么这些字段在应用于前端开发时具有违反直觉的名称,这也是每个项目的原因曾经犯过这个错误。 据我所知,在依赖项下列出前端依赖项是无害的,但这是错误的。
我希望这回答了你的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.