devDependencies是否会影响包的大小?

时间:2019-06-23 13:09:47

标签: javascript npm webpack dependencies

我看上去很努力,找不到这个问题的直接答案。

我添加为devDependencies的软件包是否最终出现在生产包JS文件中,从而影响了文件的大小?还是只是dependencies才进入捆绑包?

2 个答案:

答案 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时具有反插补名称的原因,也是每个项目的原因曾经弄错了。据我所知,在依赖项下列出前端依赖项是无害的,但这是错误的。

我希望这能回答您的问题。