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
Где каждый модуль экспортирует объект с одним или несколькими свойствами.