如何使用coffeescript在Express中创建app全局

时间:2012-11-21 15:26:42

标签: node.js coffeescript express

我正在尝试在CoffeeScript中构建一个Express项目。我试图将app变量设为全局,以便我可以在任何地方使用 - 从中​​读取配置设置。

到目前为止,我已尝试过这个 -

在我的app.coffee文件中 -

app = express()
app.configure ->
    app.set 'host', 'localhost'
http.createServer(app).listen 8888, ->
    console.log 'Server started'
exports.app = app

我想在我的一个路由文件中访问上面设置的host变量。所以,我尝试了我的路由处理程序,

exports.app.get('host') # I get this undefined

如何做到这一点?我的路线文件中是否必须require(app)app.coffee要求路由存在的模块,显然是路由,即

app.get '/', 'route_handler'

1 个答案:

答案 0 :(得分:6)

您的路由处理程序将收到请求和响应对象。它们都引用了全局app变量。从那里你可以通过req.app.settings.host

获取你通过app.set'host'设置的值。
app.get '/', (req, res) -> 
    console.log req.app.settings.host
    # your code goes here