我在CoffeeScript中编写Express.js模块,我不确定构建它们的最佳方法。
我想要使用该模块的方式类似于
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中构建表达模块的任何好例子。有没有更好的方法呢?
答案 0 :(得分:1)
是的,你的方法很好。从Node库导出构造函数很常见。
您唯一需要担心的是导出Mailer
类,使其直接require
d。您可以通过添加行
module.exports = Mailer
定义课程后。