require():使用 module.exports vs 直接分配给 “this”

require(): using module.exports vs assigning to "this" directly

本文关键字:分配 this vs 使用 exports module require      更新时间:2023-09-26

我想知道使用这两种方法相互对抗是否有任何优点或缺点:

第一.js:

this.myFunction = function() {
    return 'herro first';
}

第二.js:

module.exports = obj = {};
obj.myFunction = function() {
    return 'herro second';
}

然后,上述两个将被包括并按以下方式使用:

应用.js:

var first = require('./first.js');
console.log(first.myFunction());
var second = require('./second');
console.log(second.myFunction());

module.exports(或只是exports)是标准的CommonJS方式。

在 Node.js 中,this恰好是同一个对象,但最好不要依赖它,并且使用 this 将无法与其他工具一起使用,例如 Browserify