【发布时间】:2017-12-30 12:26:28
【问题描述】:
我正在学习使用 webpack 并开始接触 Javascript 世界,包括 npm。
Severalanswers 处理 --save 与 --save-dev 时使用 npm install。我的理解是,在通过npm install <the package being developed or ran> 重新创建运行或开发环境时,它们的使用(以及对package.json 的更新)实际上很有用
-
--save用于保存运行应用程序所需的包在 node.js 中,即在服务器上 -
--save-dev用于保存开发应用所需的包 - 一个裸露的
npm install <module>只是安装包,而不能通过package.json中的相应条目将其安装在其他地方
因此,在 webpack 上下文中,--save 曾经被使用过吗?我不相信,因为创建的是一个 JS 包,然后包含在 HTML 文件中,并在浏览器中运行。从这个意义上说,永远不需要“保存运行您的应用所需的模块”。
同样,--save-dev 很有用(同样,在 webpack 上下文中)它允许某人在其他地方开发(在这种情况下,应用程序中的两个模块(例如,moment.js)和后勤模块(例如, gulp) 应该和--save-dev一起安装吧?)
最后,一个简单的npm install <module> 也是可能的(尽管不太有用),因为开发不打算在其他地方进行(模块仍然安装,但在package.json 中没有提及这一事实)。
这是正确的吗?具体来说,在 webpack 上下文中缺少 --save 的假设是否正确?
【问题讨论】:
-
我会将
--save-dev与 WebPack 一起使用,因为它仅用于开发和构建环境。 -
它会进入你的产品包吗? 是:
--save否:--save-dev -
@Damon:为什么要在产品包中使用
--save?它将在该捆绑包中,由服务器提供服务,仅此而已。模块本身永远不会在 prod 中使用(除非在 JS 包中) -
@SumnerEvans:这也是我的假设
-
如果你没有发布 NPM 模块而只是使用 NPM 来管理你的前端资产,我想这没关系。你的构建工具应该只包含你的包中实际使用的东西。唯一的情况是让您自己或其他开发人员清楚“这是在我的应用程序中使用的”与“这是我用于测试、构建、转译等的东西”。您可以将其中任何一个放在您希望的位置并使其发挥作用。
标签: javascript npm webpack npm-install webpack-2