MeteorJS 和 Coffeescript:"unexpected . "

MeteorJS and Coffeescript: "unexpected . "

我正在尝试使用 Meteor 电子邮件包中的 Email.send() 功能,但遇到了一个小问题。我正在尝试运行这个:

Email.send
({
    from: 'hello@email.net',
    to: 'someone@somewhere.info',
    subject: 'myapp: wowowowo!',
    text: 'Hello!'
})

Meteor returns 这个错误:

=> Started proxy.                             
=> Errors prevented startup:                  

   While building the application:
   <runJavaScript-31>:148:11: server/server.coffee:162: unexpected .
   (compiling server/server.coffee) (at handler)

=> Your application has errors. Waiting for file change.
=> Started MongoDB.  

第162行是上面对send函数的调用。是的,我已经运行 meteor add email。我该怎么办?我需要一双新鲜的眼睛,谢谢!

使用 js2coffee.org,您可能想试试这个:

Email.send
  from: "hello@email.net"
  to: "someone@somewhere.info"
  subject: "myapp: wowowowo!"
  text: "Hello!"

尝试将代码插入 http://js2coffee.org/,您将看到它生成的内容 JavaScript。

你可以这样写

Email.send
  from: 'hello@email.net',
  to: 'someone@somewhere.info',
  subject: 'myapp: wowowowo!',
  text: 'Hello!'

但我更喜欢这个:

Email.send(
  from: 'hello@email.net',
  to: 'someone@somewhere.info',
  subject: 'myapp: wowowowo!',
  text: 'Hello!'
)

或者这个:

Email.send({
  from: 'hello@email.net',
  to: 'someone@somewhere.info',
  subject: 'myapp: wowowowo!',
  text: 'Hello!'
})

更清楚的是,它是一个以对象为参数的函数

顺便说一句,每当您不确定 CoffeeScript 代码的作用时,请使用 http://js2coffee.org/ 找出答案。

原来我的另一个团队成员正在编辑文件,他的文本编辑器插入了制表符而不是 spaces!我将所有缩进转换为 space 分隔,然后它就起作用了。