Nodejs 包管理

模块和包

Node.js 的模块和包机制的实现参照了 CommonJS 的标准,但并未完全遵循。

1.包规范
包是在模块基础上更深一步的抽象, 类似于 c/c++ 的函数库.
Node.js 包是一个目录. 其中包含一个JSON格式的说明文件 package.json
CommonJS 规范特征:
->   package.json 必须在包的顶层目录下
->   二进制文件在bin目录下
->   JavaScript代码在lib目录下
->   文档应该在doc目录下
->   单元测试在test目录下




2. 加载



require('Modile_Name') 功能: 加载其他模块 说明: 不会重复加载以加载的模块 3. 对外公开


exports.setName 功能: 公开一个模块中的函数或对象 说明: exports 本身仅仅是一个普通的空对象,即 {}. 所以 exports.函数 就是给它加了函数 module.exports 则是用一个对象取代 exports 对象. (不可以对 exports 直接赋值替代此功能)
方式1:
        //使用
        exports.SayName = function(thyName) {console.log(thyName)}; 
        //调用
        var test = require('./fileName');
        test.SayName('XueYou');

方式2:
        //使用
        function hello(){
                var name;
                this.setNam(){};
                this.SayName(){};
        }
        module.exports = hello;
        //调用
        var test = require('./fileName');
        test = new test();  //注意因为是对象,所以要new
        test.SayName();