zappa js @include coffeescript方法不起作用

时间:2013-03-01 11:38:23

标签: node.js function include coffeescript zappa

我希望能够从zappa应用程序中调用在其他文件中声明的coffeescript和js函数。我根本无法工作。

我尝试使用@include,如zappajs crashcourse上所解释的那样......

但我得到

  

TypeError:Object#没有方法'include'

这是我的测试应用代码:

#app.coffee
require('zappajs') ->
    @get '/': -> @include 'call'

这是我试图在另一个文件中调用的函数。

#call.coffee
@include = ->
    "call me"

3 个答案:

答案 0 :(得分:1)

没有测试任何东西,但看起来你在这里混淆了一些东西。我可能错了,但您应该只使用require node.js - style require,或者您可以使用zappa style @include,但混合它们可能不太好直到你真正理解@include的作用为止。

您链接到的zappa crashcourse显示了定义模块并使用它们,但两个地方都使用@include完成。根据您所写的内容,我相信您不能按照您尝试的方式混合require@include

答案 1 :(得分:1)

尝试:

#app.coffee
require('zappajs').run port, host,  ->
  @include './routes'

#routes.coffee
@include = ->
  @get '/': ->
    @render 'index.jade',
      foo:'bar'

答案 2 :(得分:0)

Marius是对的,我混合了require和@include ......我可以让它工作,这就是我想要做的事情(即在另一个文件中调用一个函数)

require('zappajs') -> 
  test = require('./test') 
  @get '/': -> test.test(@response)

使用名为test.coffee的文件,如下所示

@test = (res) -> 
  res.send 'hullo'