我正在尝试在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'
答案 0 :(得分:6)
您的路由处理程序将收到请求和响应对象。它们都引用了全局app变量。从那里你可以通过req.app.settings.host
获取你通过app.set'host'设置的值。app.get '/', (req, res) ->
console.log req.app.settings.host
# your code goes here