7

我想导出一些类,比如说,DogCat. 解决此问题的一种方法是:

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

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


module.exports = {Dog, Cat}

如何在不输入两次类名的情况下做类似的事情?

4

3 回答 3

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;

})();
于 2012-06-21T05:51:07.353 回答
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()
于 2012-06-21T07:57:29.937 回答
1

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

exports.dog = class Dog
  bark: ->

exports.cat = class Cat
  meow: ->
于 2012-06-21T07:51:28.923 回答