我想导出一些课程,比如Dog
和Cat
。解决这个问题的一种方法是:
class Dog
bark: -> console.log "Arff! :D"
class Cat
meaow: -> console.log "Meaw!"
module.exports = {Dog, Cat}
如果不输入两次类名,我该如何做类似的事情?
答案 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: ->