NPM和Bower中的包依赖关系

时间:2015-03-30 09:15:35

标签: angularjs node.js netbeans npm bower

npm和bower的首次使用者。我能够正确安装软件包,但我不确定依赖项是如何工作的?作为一个例子,我在我的应用程序根目录中执行了“npm install angularjs”,它创建了一个文件夹“node_modules / angularjs /”,其中包含一些文件。我还可以看到angularjs文件夹中有一个package.json文件,看起来它没有被处理,因为它中列出了许多软件包而没有安装。

长话短说,我应该手动安装所有这些软件包还是有内置功能,npm / bower也可以处理这些依赖项集?

更新

我非常缺乏提出准确问题的能力,我向那些已经回答并且未给出正确症状的人道歉。

我期待发生的事情:

使用npm或bower,我想澄清一下,如果我安装了其中一个软件包,它是否会自动安装新软件包的依赖项,或者我是否需要为每个软件包安装npm / bower。手动json或bower.json文件?

我尝试做的是:

  1. 创建文件夹D:\ Websites \ TestSite
  2. 在通过CMD的文件夹中,我做了一个“npm init”并浏览了指南
  3. 我用“npm install angularjs”
  4. 跟着它
  5. 创建了一个新文件夹D:\ Websites \ TestSite \ node_modules \ angularjs,在此文件夹中有一个“index.js”和package.json文件
  6. 打开index.js我得到一个“require(”angular“);”和module.exports = window.angular。
  7. package.json文件包含许多尚未安装的依赖项。
  8. 我的结果:

    • 根据我的预期,上面第3点的npm install在安装angularjs后没有安装package.json文件的依赖项。
    • 我不确定,但我认为index.js文件需要包含在我的html中,并且需要启动requirejs库吗?如果是这种情况,那么requirejs(我在我的网站上没有安装)应该是angularjs的工作依赖,应该在让我尝试启动它之前安装吗?
    • 我是否错过了一步或误解了NPM / Bower的功能?感谢您的耐心等待!

1 个答案:

答案 0 :(得分:2)

NpmBower是管理您的依赖关系的绝佳工具,我将尝试用几句话说清楚。

通常npm用于管理后端依赖项,Bower负责前端依赖项。

有2个配置文件:

  • package.json,这里列出了未在浏览器中使用的依赖项(例如bower,grunt)。要在package.json中安装所有依赖项,请运行npm install
  • Bower.json,此处将在浏览器中列出您的""依赖关系(例如angular,jQuery)。运行bower install以安装bower_components
  • 中列出的所有依赖项

你可以找到我写的here扩展指南。