package.json中的依赖项是什么 – nodejs

在我的节点projcet我build立独立的模块与main.js文件夹作为入口点,并find该模块与不同的文件相同的文件夹助手。

Ex: Aggregator: |___package.json |___main.js |___node_modules |_____helper1.js |_____helper2.js 

因此,节点将从本地node_modules文件夹parsing所有我的助手对模块的依赖关系[例如:Aggregator]。 上述结构的原因是,我不需要关心需求的path

我使用package.json来指定入口点是main.js incase require是为Aggregator

 Ex: //Sample.js require('Aggregator'); // Resolves to Aggregator/main.js 

例如:Aggregator模块的package.json

  { "name": "Aggregator" , "description": "Returns Aggregates" , "keywords": ["aggregate"] , "author": "Tamil" , "contributors": [] , "dependencies": { "redis": "0.6.7" } , "lib" : "." , "main" : "./main.js" , "version" : "1.0" } 

这里的依赖列是什么? 我提到这个链接。 我的代码似乎工作,即使我指定版本的redis为10000没有任何警告。 我尝试从项目中删除我的redis模块,以testing节点是否拿起它并解决依赖关系,但没有。 什么时候在package.json中使用这个依赖属性? 这仅仅是为了将来的参考吗?

npm版本1.1.0-beta-4; 节点版本v0.6.6

dependencies值用于指定给定模块(由package.json表示)需要工作的任何其他模块。 从给定模块的根文件夹运行npm install ,将安装该dependencies散列中列出的所有模块。

如果你没有在redis: 10000得到任何错误redis: 10000在那里列出redis: 10000 ,我的猜测是你从来没有运行过npm install ,所以它甚至没有尝试安装redis。 反过来,如果你的代码在没有运行npm install情况下工作的很好,那么很可能你的代码甚至不需要redis,而这个项目应该从dependencies散列中删除。

虽然package.json中的每个条目都不是每个日常开发必须了解的,但是dependencies是非常重要的。 我build议阅读npm网站上的依赖关系部分 。