CoffeeScript和NodeJS:如何导出多个类?

时间:2012-06-21 05:42:12

标签: node.js coffeescript commonjs

我想导出一些课程,比如DogCat。解决这个问题的一种方法是:

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

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


module.exports = {Dog, Cat}

如果不输入两次类名,我该如何做类似的事情?

3 个答案:

答案 0 :(得分: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 :(得分: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()

答案 2 :(得分:1)

一般来说,我想要一个局部变量(所以我不必一直输入exports.x)和一个导出变量(所以我不必在最后一次定义所有导出),所以我做了以下几点:

exports.dog = class Dog
  bark: ->

exports.cat = class Cat
  meow: ->