0

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

我尝试按照zappajs 速成课程中的说明使用 @include ...

但我明白了

类型错误:对象 # 没有方法“包含”

这是我的测试应用程序代码:

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

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

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

3 回答 3

1

尝试:

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

#routes.coffee
@include = ->
  @get '/': ->
    @render 'index.jade',
      foo:'bar'
于 2013-03-20T07:09:47.153 回答
1

没有测试任何东西,但看起来你在这里混淆了一些东西。我可能是错的,但你可能应该只使用 require node.js-style require,或者你可以使用zappastyle @include,但是在你真正理解什么之前混合它们可能不是一个好主意@include

您链接到的 zappa 速成课程显示了定义模块和使用它们,但这两个地方都是使用@include. 根据您所写的内容,我相信您无法混合require以及@include您尝试做的方式。

于 2013-03-01T19:18:28.170 回答
0

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

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

有一个名为 test.coffee 的文件,看起来像这样

@test = (res) -> 
  res.send 'hullo' 
于 2013-03-02T01:56:47.973 回答