Npm,Dev dependecy或dependecy,使用webpack等将所有东西打包成一个脚本?

时间:2018-05-11 13:43:02

标签: javascript npm webpack gulp

例如,当使用webpack将所有内容打包到单个js文件中时,它已经将依赖项导入到该文件中。在这种情况下,我们是否需要package.json中的任何依赖项,或者它们可以全部是--save-dev

请考虑我只讨论前端开发和实施。

干杯

2 个答案:

答案 0 :(得分:1)

依赖关系的位置无关紧要(我的意思是devDependencies或普通依赖关系)。 webpack将要查看的是源代码中的requireimport语句。

当devDependencies和依赖关系产生真正的不同时,就是发布包时。如果您在此程序包上手动运行npm/yarn install,则只会安装devdependencies。如果您的用户正在安装此软件包,那么当运行npm install --save-dev yourpackagename时,只会安装dependencies字段中的依赖项。

TL; TR: 不,webpack不关心您的依赖关系在package.json上的位置。

答案 1 :(得分:0)

这取决于您的应用的部署或分发方式。常规依赖项是应用程序在运行时需要的。当只需要对应用程序进行更改时,某些东西就是开发依赖项。

如果必须在可以使用应用程序之前运行webpack构建(例如在持续集成环境中,应用程序是作为测试和部署过程的一部分构建的),那么构建时所需的任何内容都是&# 39;定期'依赖。在这种情况下,大多数软件包都是常规依赖项。

如果您正在构建应用程序一次并且构建的资产是分发/部署的 - 那么在使用应用程序之前不必再进行构建 - 那么构建时需要的任何内容都是&# 39; dev的'依赖性,因为使用您的代码的人不应该再次构建,除非他们正在对应用程序进行更改。在这种情况下,您的大多数依赖项将是“开发”。的依赖关系。