Coffeescript中连接/快速模块的最佳实践?
问题描述:
我正在使用CoffeeScript编写Express.js模块,我不确定构建它们的最佳方法。Coffeescript中连接/快速模块的最佳实践?
我想利用模块的方式是一样的东西
app.coffee
Mailer = require('./lib/mailer')
amazon_mailer = new Mailer
key: "somekey"
secret: "somesecret"
type: "SES"
...
amazon_mailer.send(...)
所以,在CoffeeScript中,我想这样做这样说:
/lib/mailer.coffee
class Mailer
constructor: (options) ->
@options = options
send: (...) ->
...
module.exports = Mailer
在我的测试中,这是有效的,但它是做到这一点的正确方法吗?我一直无法找到任何关于如何在CoffeeScript中构造快速模块的好例子。有没有更好的方法来做到这一点?
答
是的,你的方法很好。从Node库导出构造函数是很常见的。
您唯一要担心的就是直接导出Mailer
类,直到它可以是require
d。您可以通过添加行
module.exports = Mailer
定义类之后。
+0
Doh,是的,我错过了我的代码示例中的那一点。编辑我的问题来解决它。 – 2011-12-20 23:36:58
在你的例子中,'Mailer'只是一个Node模块;它与Connect/Express无关。 – 2011-12-20 22:53:40
对于它的价值,CoffeeScript为您的构造函数提供了一些糖。它可以成为:构造函数:(@options) - > – 2011-12-21 14:58:40