7

Dogいくつかのクラス、たとえば、をエクスポートしたいと思いCatます。これを実行する1つの方法は次のとおりです。

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

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


module.exports = {Dog, Cat}

クラス名を2回入力せずに、同様のことを行うにはどうすればよいですか?

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 に答える