0
var revealed = function(){
   var a = [1,2,3];
   function abc(){
     return (a[0]*a[1])+a[2]);
   }

   return {
      name: 'revealed',
      abcfn: abc
   }

   module.exports = revealed;
}();

CommonJS パターンを Revealing Module パターンで使用するにはどうすればよいですか? module.exports = revealed;関数を呼び出すためにモジュールをどこかに含めようとすると、エラーがスローされますfunction not found

var module = require('module');
module.abc();

未定義のメソッドを呼び出すことはできません。

4

2 に答える 2

5

module.exports に割り当てる前にオブジェクトを返しています!

あなたが欲しいのはこれです:

var revealed = function(){
   var a = [1,2,3];
   function abc(){
     return (a[0]*a[1])+a[2]);
   }

   return {
      name: 'revealed',
      abcfn: abc
   }
}();

module.exports = revealed;
于 2013-01-30T11:10:50.560 に答える
2

モジュール関数内では、明らかにされていません。

あなたができることはこれです:

var revealed = function(){
   var a = [1,2,3];
   function abc(){
     return (a[0]*a[1])+a[2]);
   }

   return module.exports = {
      name: 'revealed',
      abcfn: abc
   }
}();
于 2013-01-30T11:10:51.243 に答える