JS exports构建自定义模块

2018-09-05  本文已影响0人  Ming_a221

exports可以向外部文件暴露方法和属性,同过载单独js文件内写方法向外部暴露调用方法就能完成模块的定义。
demo1:
exports_test1.js

var name;
exports.setName = function(newName){
    name = newName;
}

exports.sayHello = function(){
    console.log("hello:"+name);
}

方法的调用:

/*
 * require只会导入一次模块
 *
 * */
var exportT = require('./exports_test1');
exportT.setName('zw');
var exportT = require('./exports_test1');
exportT.setName('zw2');
exportT.sayHello();

打印输出:

  hello:zw2

demo2:
exports_test2.js

function hello(){
    var name;
    this.setName = function(newName){
        name = newName;
    }
    this.sayHello = function(){
        console.log("hello:"+name);
    }
}
module.exports = hello;

方法的调用:

var hello = require('./exports_test2');
var hello1 = new hello();
hello1.setName('zw');
hello1.sayHello();


var hello2 = new hello();
hello2.setName('z2');
hello2.sayHello();

打印输出:

hello:zw
hello:z2
上一篇 下一篇

猜你喜欢

热点阅读