例如,当使用webpack将所有内容打包到单个js文件中时,它已经将依赖项导入到该文件中。在这种情况下,我们是否需要package.json
中的任何依赖项,或者它们可以全部是--save-dev
?
请考虑我只讨论前端开发和实施。
干杯
答案 0 :(得分:1)
依赖关系的位置无关紧要(我的意思是devDependencies或普通依赖关系)。 webpack将要查看的是源代码中的require
和import
语句。
当devDependencies和依赖关系产生真正的不同时,就是发布包时。如果您在此程序包上手动运行npm/yarn install
,则只会安装devdependencies。如果您的用户正在安装此软件包,那么当运行npm install --save-dev yourpackagename
时,只会安装dependencies
字段中的依赖项。
TL; TR:
不,webpack不关心您的依赖关系在package.json
上的位置。
答案 1 :(得分:0)
这取决于您的应用的部署或分发方式。常规依赖项是应用程序在运行时需要的。当只需要对应用程序进行更改时,某些东西就是开发依赖项。
如果必须在可以使用应用程序之前运行webpack构建(例如在持续集成环境中,应用程序是作为测试和部署过程的一部分构建的),那么构建时所需的任何内容都是&# 39;定期'依赖。在这种情况下,大多数软件包都是常规依赖项。
如果您正在构建应用程序一次并且构建的资产是分发/部署的 - 那么在使用应用程序之前不必再进行构建 - 那么构建时需要的任何内容都是&# 39; dev的'依赖性,因为使用您的代码的人不应该再次构建,除非他们正在对应用程序进行更改。在这种情况下,您的大多数依赖项将是“开发”。的依赖关系。