2012-06-21 8 views
7

いくつかのクラス、たとえばDogCatをエクスポートしたいとします。これについての1つの方法は次のとおりです。CoffeeScriptとNodeJS:複数のクラスをエクスポートするにはどうすればいいですか?

class Dog 
    bark: -> console.log "Arff! :D" 

class Cat 
    meaow: -> console.log "Meaw!" 


module.exports = {Dog, Cat} 

クラス名を2回入力しなくても、同様のことを行うにはどうすればよいですか?一般的に、私は(私はexports.xのすべての時間を入力する必要はありません)ローカル変数をしたい

exports.Dog = (function() { 

    function Dog() {} 

    Dog.prototype.bark = function() { 
    return console.log("Arff! :D"); 
    }; 

    return Dog; 

})(); 
+0

そして、あなたは第三のクラスを追加した場合、あなたもそれをエクスポートしたいですか? –

+0

@FlorianMargaineはい。 –

答えて

5

あなたはこのようなものを使用することができます輸出変数(最終的にすべての輸出を一度に定義する必要はありません)を使用しているため、次のようにします。

exports.dog = class Dog 
    bark: -> 

exports.cat = class Cat 
    meow: -> 
1

:にこれがダウンしてコンパイル

class exports.Dog 
    bark: -> console.log "Arff! :D" 

3

これに代わる方法は、以下の手順を実行している:

module.exports = 
    Dog: class Dog 
      bark: -> console.log "Arff! :D" 

    Cat: class Cat 
     meaow: -> console.log "Meaw!" 

その後、次の操作を行うことができます

animals = require './animals' 

dog = new Animals.dog() 
関連する問題