foo.coffee:
class Foo
// ...
module.exports = Foo
bar.coffee:
Foo = require "./foo"
class Bar extends Foo
// ...
module.exports = Bar
index.coffee:
exports.Foo = require "./foo"
exports.Bar = require "./bar"
更新:.coffee
のファイルをcoffee
で実行する必要があります(ただし、最初にコンパイルしない限り)。
更新日2:モデルの構造はあなた次第です。私は(簡単なモジュールは、単に機能をエクスポートする場所 - あなたがmodule.exports
に割り当てる必要がある場合、それはだあなたは、単にexports
に割り当てることができないため)上記のパターンを好むが、他の人がこのような構造を好む:
foo.coffee:
class Foo
// ...
exports.Foo = Foo
bar.coffee:
Foo = require("./foo").Foo
class Bar extends Foo
// ...
exports.Bar = Bar
index.coffee:
exports.Foo = require("./foo").Foo
exports.Bar = require("./bar").Bar
各モジュールは、1つ以上のプロパティを持つオブジェクトをエクスポートします。
を私はチャイムしたいと私はライナスに同意し、どのモジュールがちょうどクラスをエクスポートする必要があることを言います。もちろん、いくつかの例外がありますが、全体的には良い練習です。 –
(OTのお詫び!) - @Linus:クライアント側で同じ手法を使用する方法をお勧めしますか? RequireJS(オーバーヘッドが多いようです)? – polarblau
@polarblau:確かに、私は[ステッチ](https://github.com/sstephenson/stitch)を使用しています。小型で軽量で、クライアントに「必要」を与えます。 –