【问题标题】:Best practice for connect/express modules in Coffeescript?Coffeescript 中连接/表达模块的最佳实践?
【发布时间】:2012-01-24 19:32:11
【问题描述】:

我正在用 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 中构造 express 模块的好例子。有没有更好的方法?

【问题讨论】:

  • 在您的示例中,Mailer 只是一个节点模块;它与 Connect/Express 无关。
  • 对于它的价值,CoffeeScript 为您的构造函数提供了一些糖。它可以变成:构造函数:(@options) ->

标签: coffeescript express


【解决方案1】:

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

您唯一需要担心的是将Mailer 类导出为可以直接为required 的方式。您可以通过添加行来做到这一点

module.exports = Mailer

在定义类之后。

【讨论】:

  • Doh,是的,我在代码示例中错过了这一点。编辑我的问题以解决它。
猜你喜欢
  • 2018-05-10
  • 2015-03-25
  • 1970-01-01
  • 2016-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-22
  • 2019-06-26
相关资源
最近更新 更多