我想在工作模式中包含工廠模式。我有一個模塊ServiceFactory.js
,看起來像這樣:授予模塊加載其他模塊的權限
exports.createService = function(serviceName, paramObj){
return require('Services/'+serviceName).Service.new(paramObj);
};
該模塊應該需要其他模塊(服務)的名稱和創建一個實例。一般Service.js
lookes這樣的:
const Base = require('base').Base;
exports.Service = Base.extend({
getName: function(){
return this.name;
},
invoke: function(){
//do something
},
});
所有其他服務的擴展基礎服務。我在「lib」中的子文件夾「服務」中收集所有服務。當我現在用我廠的createService
方法我得到這樣一個錯誤:「模塊:服務工廠......沒有權力來加載服務/ ...」
有沒有辦法給予ServiceFactory
加載我的權力服務還是有另一種方法來實現我的目標?
很好的解決方法。非常感謝。 – 2012-04-18 07:47:23
另一件需要補充的是,目前,如果您在一行中使用任何縮小或多個要求,您的代碼就無法正確註冊,如var a = require('widget'),b = require('chrome');這已經修復並且正式發佈https://github.com/mozilla/addon-sdk/pull/738,但目前它尚未發佈在穩定版本中。 – jxpx777 2013-03-28 14:20:19