【发布时间】:2017-11-19 08:45:29
【问题描述】:
当我使用 webpack 时,将任何模块放入 package.json dependencies 是否有意义?
当我想开发一个包时,我先使用git clone <url>,然后使用npm install,然后npm 从package.json 文件中安装所有dependencies 和devDependencies,这很有意义。
当我是最终用户并且只想在我的node_modules 中安装一些包以在我的项目中使用它时,我运行npm install package-name,然后npm 安装package-name only 它的dependencies,它也很有意义。
但是当我使用webpack 时,将任何模块放入dependencies 是否有意义? webpack 会将所有依赖项捆绑到例如。 bundle.js,所以,对我来说,不需要安装依赖项(虽然它们包含在 bundle.js 文件中)。
假设我为我的项目:my-project,将所有必需的模块放入 devDependencies(保持 dependencies 对象为空),将其与 webpack 捆绑并发布:
- 开发者用户将使用
git clone <url to my_project>,然后运行npm install,然后npm将从package.json安装devDependencies(并省略空dependencies对象),然后就可以开发了。 - 最终用户将使用
npm install my-project,然后npm 将安装my-project,不要安装devDependencies(因为这是用于生产)并且不要安装dependencies(因为package.json中的dependencies对象保持为空)。将任何内容放入dependencies会使依赖项加倍:两个依赖项都将被安装,并且相同的依赖项可以在bundle.js文件中访问。
我说的对吗?
【问题讨论】:
标签: npm webpack dependencies package