Node中require,module,exports怎么玩

xiaoxiao2021-02-28  21

NodeJs中的模块系统

绝对模块:Node通过在其内部node_modules查找到或者Node内置的fs这样的模块。比如你安装你一个pug模块,路径就成了./node_modules/pug,这种情况下就可以直接通过名字require这个模块require('pug') 相对模块:将require指向一个想对工作目录中的JavaScript文件。

暴露API

让模块暴露出一个API成为require调用的返回值,要依靠module和exports这两个全局变量 默认情况下,每个模块都会暴露出一个空对象,可以用exports在该对象上添加属性:

module_a.js

exports.name = 'ldl'; exports.data = 'this is some data'; var privateVariable = 6; exports.getPrivate = function(){ return privateVariable; };

main.js

var a = require('./module_a'); console.log(a.name); console.log(a.data); console.log(a.getPrivate()); //执行情况 PS E:\codes\nodejs\module> node main ldl this is some data 6

exports其实就是对module.exports的引用,其在默认情况下是一个对象。你也可以彻底重写module.exports来满足你的需求。

person.js

module.exports = Person; function Person (name){ this.name = name; }; Person.prototype.talk = function (){ console.log('my name is',this.name); }

index.js

var Person = require('./person'); var ldl = new Person('ldl'); ldl.talk(); PS E:\codes\nodejs\module> node index my name is ldl

以上就是NodeJs中模块系统的简单玩法.

转载请注明原文地址: https://www.6miu.com/read-2629599.html

最新回复(0)