Coffeescript中连接/快速模块的最佳实践?

时间:2011-12-20 21:23:02

标签: coffeescript express

我在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中构建表达模块的任何好例子。有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

是的,你的方法很好。从Node库导出构造函数很常见。

您唯一需要担心的是导出Mailer类,使其直接require d。您可以通过添加行

来实现
module.exports = Mailer

定义课程后。