微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

在我的节点项目中,我将独立模块构建到文件夹中,并将main.js作为入口点,并在与不同文件相同的文件夹中找到该模块的帮助程序.
Ex:
Aggregator:
     |___package.json
     |___main.js
     |___node_modules
         |_____helper1.js
         |_____helper2.js

因此,node将从本地node_modules文件夹解析所有帮助程序对模块[Ex:Aggregator]的依赖性.上面结构的原因是,我不需要关心需要的路径

我使用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"
    }

这里的依赖列是什么?我提到了this链接.即使我将redis的版本指定为10000而没有任何警告,我的代码似乎也能正常工作.我尝试从项目中删除我的redis模块,以测试节点是否接收它并解决依赖性,但事实并非如此.何时在package.json中使用该依赖属性?这只是一张备注供将来参考吗?

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

解决方法

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

如果你没有在redis:10000中找到任何错误,我的猜测是你从未运行过npm install,因此它甚至从未尝试过安装redis.反过来,如果您的代码在没有运行npm install的情况下工作正常,那么您的代码很可能首先不需要redis,并且该项应该从依赖项哈希中删除.

虽然并非package.json中的每个条目对于理解日常开发都是必不可少的,但依赖性对于了解非常重要.我建议阅读dependencies section on the npm website.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐