我看上去很努力,找不到这个问题的直接答案。
我添加为devDependencies
的软件包是否最终出现在生产包JS文件中,从而影响了文件的大小?还是只是dependencies
才进入捆绑包?
答案 0 :(得分:1)
否,这不会影响捆绑包的大小,因为这些软件包仅在开发模式下使用。让我们以typescript
devDependencies: {
"typescript": "~3.2.5"
}
所以我只需要拥有打字稿编译器,就可以在开发模式下进行打字。而且我实际上没有在项目中导入Typescript,因为它仅用于开发模式。因此,如果您使用的是webpack,并且没有在项目webpack中的任何地方导入打字稿,那么您会摇摇晃晃地消除不需要生产构建的代码,因此该捆绑包不会受到影响。
答案 1 :(得分:0)
答案并不像看起来那样容易。澄清如下:https://github.com/webpack/webpack/issues/520#issuecomment-174011824
并在此处添加相关代码段:
由webpack构建的浏览器应用程序没有运行时节点依赖项,因此所有前端依赖项都应列为devDependencies。 Depends vs devDependencies的命名约定历史上源于节点是服务器端程序包管理器,该节点被滥用为前端程序包管理器,这就是为什么这些字段在应用于前端dev时具有反插补名称的原因,也是每个项目的原因曾经弄错了。据我所知,在依赖项下列出前端依赖项是无害的,但这是错误的。
我希望这能回答您的问题。