2012-06-21 20 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()