我有一個/libs
文件夾多的NodeJS文件,例如:避免的NodeJS模塊「需要」複製
math.js
,restapi.js
,auth.js
,push.js
而math.js
是提供基本的數學功能和所有類restapi.js
,auth.js
,push.js
需要math.js
。
的問題是,我在所有其他類這麼多require './math.js
,例如:
// In auth.js
var Auth = new function __Auth(){
function A(){
var math = require "./math.js";
return math.fooA();
}
function B(){
var math = require "./math.js";
return math.fooB();
}
}
exports = module.exports = Auth;
在app.js
(主應用程序)
var math= require('./math.js');
math.getConfig('config.json');
var auth= require('./auth.js');
console.log(auth.fooA());
在app.js
,基類math.js
絕首先調用getConfig()
來從配置文件初始化必要的變量和常量。 (因此,我想只保留math.js
的一個實例,因爲它是默認的NodeJS行爲,所以它可以)。
(注意,這只是一個簡化實際代碼庫的例子)。
我知道NodeJS有一個require
緩存機制,但這是否意味着每個函數調用有一個require math.js
是唯一的方法?我認爲這是非常昂貴和非最佳的。
在其他語言(例如PHP)中,頂部可能有一個require
,並且沒有require
用於每個函數引用同一個類。
任何建議更好& 更高效代碼設計?
PS。我剛剛編輯了一些問題來澄清情況。
似乎像循環依賴問題或類似的東西。我們需要看到'math.js'來給出一個很好的答案。 – tcooc