【发布时间】:2014-02-07 13:19:51
【问题描述】:
我是使用 npm 和 bower 的新手,我在 emberjs 中构建了我的第一个应用程序 :)。
我确实对rails有点经验,所以我熟悉列出依赖项的文件的想法(例如bundler Gemfile)
问题:当我想添加一个包(并将依赖项签入到 git 中)时,它属于哪里 - 到 package.json 或 bower.json?
据我所知,
运行bower install 将获取包并将其放入/vendor 目录中,
运行npm install 它将获取它并将其放入/node_modules 目录。
This SO answer 说 bower 用于前端,npm 用于后端。
Ember-app-kit 乍一看似乎坚持这种区别...但是在 gruntfile 中为 enabling some functionality 提供了两个明确的说明命令,所以我在这里完全感到困惑。
直觉上我会猜到
npm install --save-dev package-name 相当于将包名添加到我的 package.json 中
bower install --save package-name 可能与将包添加到我的 bower.json 并运行 bower install 相同强>?
如果是这种情况,我什么时候应该像这样显式安装软件包而不将它们添加到管理依赖项的文件中(除了全局安装命令行工具)?
【问题讨论】:
-
@SindreSorhus 这不是完全重复的。这篇文章中还有一个相关的问题。顺便说一句,你介意解释一下投票吗?
-
您是否更改了已接受的答案?似乎 2014 年获得高度评价的内容与 2016 年被接受的内容完全不同。它也解释了为什么它提出了另一种方法,所以我对此很满意。只是有点惊讶它被接受(或重新接受)。
-
是的,我改变了接受的答案,因为我觉得后一个更相关。我想在这个前端丛林中,很多人都和我一样困惑,所以这个问题的受欢迎程度超出了我的预期......并且在 2 年后仍然得到了关注。多亏了 Pawel,人们现在有了一个更新的答案供人们参考(我现在的工作中使用的是 webpack)。
标签: javascript gruntjs bower