0

我正在尝试在 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'
4

1 回答 1

6

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

app.get '/', (req, res) -> 
    console.log req.app.settings.host
    # your code goes here
于 2012-11-21T16:52:37.343 回答