2013-03-19 3 views
0

У меня есть это:экспресс-JS, требующие URL из другого файла

./urls.coffee

urlConfig = [ 
    ["/", (req, res) -> res.send "hello world"] 
] 
module.exports = urlConfig 

./utils/helpers.coffee

getUrl = (app, urlconfig)-> 
    for url in urlconfig 
     app.get url[0], url[1] 
module.exports.getUrl = getUrl  

./app.coffee

express = require "express", 
app = express(); 
helper = require "./utils/helper" 
urls = require "./urls" 

helper.getUrl app, urls 

Я пытаюсь отделить url от app.coffee, определяя его в другом файле url.coffee.

Но обратный вызов не может принять (req, res) args, ошибка: req is not defined, но если обратный вызов не получает никаких аргументов, он отлично работает. У кого-нибудь есть мысли или предложения?

+0

Кажется, что работать просто отлично (кроме 'app.coffee', являющегося смесью JS и CoffeeScript, а у требований есть опечатки). – robertklep

+0

Не знаю, почему, если я изменяю обратный вызов от анонимной функции, чтобы передать имя функции, она работает нормально. –

+0

Я тестирую это как «urls.coffee»: https://gist.github.com/robertklep/5196631 – robertklep

ответ

0

это не должно быть что-то вроде:

var express = require "express", 
helper = require "./utils/helper" 

app = express(); 
app.get = helper.getUrl 

?

+0

Не уверен в этом. Если да, то я думаю, что мне нужно изменить функцию. Может дать мне подсказку? –

Смежные вопросы