[英]Node coffeescript class files and inheritance
我有2个类文件:
foo.coffee: class Foo
bar.coffee:class class Bar extends Foo
如何定义这些类以使它们全局可用? 我在Bar
中得到错误,没有定义Foo
。
我有一个index.js文件,我调用node
来运行脚本。 这是index.js的内容,我也很可能也错了:
exports.Foo = require("./foo")
exports.Bar = require("/bar")
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
每个模块导出具有一个或多个属性的对象。
你也可以写:
class @MyClass
[...]
{MyClassName} = require './myclassFile'
myClass = new MyClassName
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.