[英]What is dependency in package.json - nodejs
在我的节点项目中,我将独立模块构建到文件夹中,以 main.js 作为入口点,并在与不同文件相同的文件夹中找到该模块的帮助程序。
Ex:
Aggregator:
|___package.json
|___main.js
|___node_modules
|_____helper1.js
|_____helper2.js
因此,node 将从本地node_modules
文件夹中解析所有我的助手对模块 [Ex: Aggregator] 的依赖。 上述结构的原因是,我不需要关心require
上的路径
我使用 package.json 来指定入口点是 main.js incase require
是 Aggregator
Ex:
//Sample.js
require('Aggregator'); // Resolves to Aggregator/main.js
例如:聚合器模块的 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 模块以测试节点是否选择它并解决依赖关系,但它没有。 何时在 package.json 中使用该依赖属性? 它只是一个笔记以备将来参考吗?
npm 版本 1.1.0-beta-4 ; 节点版本 v0.6.6
dependencies
值用于指定给定模块(由package.json
表示)工作所需的任何其他模块。 当您从给定模块的根文件夹运行npm install
,它将安装该dependencies
哈希中列出的所有模块。
如果您在redis: 10000
没有遇到任何错误,我的猜测是您从未运行过npm install
,因此它甚至从未尝试安装 redis。 反过来,如果您的代码在没有运行npm install
情况下运行良好,则很可能您的代码一开始甚至不需要 redis,并且应该从dependencies
哈希中删除该项目。
虽然不是package.json
中的每个条目对于理解日常开发都是必不可少的,但要了解dependencies
绝对是重要的。 我建议通读npm 网站上的依赖项部分。
依赖只是一个第三方包,或者我们可以说是使用 npm 安装的模块。 前任。
{
"name": "abc",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"npm",
"npm@latest",
"-gnpm",
"npm@latest",
"-gnpm",
"npm@latest",
"-g"
],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1", //THIS IS THIRD PARTY PACKAGE/MODULES
"jade": "^1.11.0",
"nano": "^8.2.2"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.