Javascript Npm,Dev dependecy或dependecy,当使用webpack等将所有内容打包到一个脚本中时?

Javascript Npm,Dev dependecy或dependecy,当使用webpack等将所有内容打包到一个脚本中时?,javascript,npm,webpack,gulp,Javascript,Npm,Webpack,Gulp,例如,当我们使用webpack将所有内容打包到单个js文件中时,它已经将依赖项导入到该文件中。在这种情况下,我们是否需要package.json中的任何依赖项,或者它们都可以是——save dev 请考虑我只谈前端开发和实施。 欢呼声与依赖项的位置无关(我的意思是,依赖项或正常依赖项)。webpack将要查看的是源代码中的require和import语句 当devdependency和dependency真正起作用时,就是发布包的时候。如果在此软件包上手动运行npm/warn install,则

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

请考虑我只谈前端开发和实施。
欢呼声

与依赖项的位置无关(我的意思是,依赖项或正常依赖项)。webpack将要查看的是源代码中的
require
import
语句

当devdependency和dependency真正起作用时,就是发布包的时候。如果在此软件包上手动运行
npm/warn install
,则只需安装devdependency。如果您的用户正在安装此软件包,则当您运行
npm install--save dev yourpackagename
时,只有
dependencies
字段中的依赖项才会被插入

TL;TR:
不,webpack不关心您的依赖项在包上的位置。json

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

如果在使用应用程序之前必须运行webpack构建(例如,在持续集成环境中,应用程序是作为测试和部署过程的一部分构建的),则构建时所需的任何内容都是“常规”依赖项。在这种情况下,大多数包都是常规依赖项


如果您只构建了一次应用程序,并且构建的资产是分布式/部署的——因此在应用程序可以使用之前不必再次进行构建——那么构建时所需的任何内容都是“开发”依赖项,因为使用您的代码的人不必再次构建,除非他们正在对应用程序进行更改。在这种情况下,您的大多数依赖项都是“开发”依赖项。

您能提供一个例子吗?谢谢Matheus,虽然您的回答是正确的,但我认为Brendan的回答帮助我理清了思路。