2013-03-01 41 views
0

我希望能夠調用其他文件中聲明的CoffeeScript和JS功能從扎帕的應用程序。我無法讓它工作。扎帕JS @include CoffeeScript的方法不起作用

我嘗試使用@include作爲對zappajs crashcourse解釋...

,但我得到

TypeError: Object # has no method 'include'

這裏是我的測試應用程序的代碼:

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

與這裏的功能我正嘗試撥打另一個文件。

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

回答

1

還沒有測試過任何東西,但看起來你在這裏混合了一些東西。我可能是錯的,但你應該要麼只使用需要node.js風格require,或者您也可以使用zappa風格@include,但混合它們可能不是一個好主意,直​​到你真正理解@include一樣。

扎帕crashcourse您鏈接到表演都定義模塊,並使用他們,但兩個地方它使用@include完成。根據你寫的東西,我相信你不能混用require@include你正在嘗試做的方式。

0

馬呂斯是正確的,我是混合了要求和@include ...我能得到這個工作,這真的是我想要做的(即調用另一個文件中的函數)

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

與一個名爲test.coffee看起來像這樣

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

嘗試:

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

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