2012-06-21 33 views
7

我想導出一些類,比如DogCat。其中一種方法是:CoffeeScript和NodeJS:如何導出多個類?

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

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


module.exports = {Dog, Cat} 

如何在不輸入類名兩次的情況下執行類似操作?

+0

如果你添加第三類,你要導出它嗎? –

+0

@FlorianMargaine是的。 –

回答

5

你可以使用這樣的事情:

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

這編譯爲:

exports.Dog = (function() { 

    function Dog() {} 

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

    return Dog; 

})(); 
1

一般來說,我想一個局部變量(所以我不必鍵入exports.x所有的時間)和一個導出變量(所以我不必一次定義所有導出),所以我做了以下操作:

exports.dog = class Dog 
    bark: -> 

exports.cat = class Cat 
    meow: -> 
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()