我爆發了,像這樣多個不同的文件:如何以設置導出類方法的全局變量的node.js
index.js
utils.js
ClassA/
index.js
base.js
utils包含了一些隨處可見的實用功能。 ClassA的/ index.js包含ClassA的構造以及需要base.js,然後出口ClassA的。 Base.js導出ClassA的原型方法。這基本上是他們的樣子:
//ClassA/index.js
function ClassA() {
//constructor stuff
}
ClassA.prototype.constructor = ClassA;
require('./base')(ClassA);
module.exports = ClassA;
//ClassA/base.js
module.exports = ClassA => {
ClassA.prototype.aMethod = function() {
log('hello');
}
//utils.js
module.exports = {
log : function (logText) {
//dostuff
}
}
所以我的問題是,我無法從方法中訪問日誌功能ClassA/base.js
。如果我在文件的頂部設置const log = require('../utils').log
,這是行不通的。它還如果我地方的出口內而外的方法定義的代碼同一行,但它確實,如果我的方法本身把它(如預期工作不工作,但是這將意味着複製在任何需要的每聲明需要的方法)。有沒有什麼方法可以使用這種混亂和重複的路線?
這是一個循環依賴的問題,可能是https://stackoverflow.com/questions/10869276/how-to-deal-with-cyclic-dependencies-in-node-js的重複,但我會寫後一個答案我完成烹飪:D –
啊,你是對的。我做了一些研究並採取了重構的推薦路徑以避免它。謝謝! – Beckleyc