2014-10-26 61 views
0

我想爲我的生產環境和開發環境配置不同的URL,這些URL可以傳遞到我的Jade模板中。我有幾個鏈接到子域名,所以我需要完整的URL。我不想將網址硬編碼到模板中。我可以將完整的url傳遞到模板中,並根據應用程序運行在哪個環境中指定可配置的url?Node/Express/Jade - 如何配置開發/生產URL

我有這個在我的應用程序:

app.configure('production', function(){ 

}); 

app.configure('development', function(){ 

}); 

但我不知道的configure()內容應該是什麼。

一旦我有了配置,我怎麼能從我的路線文件訪問?這些配置是否可用於所有文件?

+1

也許你正在尋找[app.locals](HTTP ://expressjs.com/api.html#app.locals) – laggingreflex 2014-10-26 18:16:26

+0

@laggingreflex是的!這正是我最終發現的。隨意添加,作爲一個答案,如果你想檢查標記:) – Jordan 2014-10-27 19:35:10

回答

1

app.locals讓您從您的應用程序傳遞變量玉模板。所以,你可以不喜歡

app.configure('production', function(){ 
    app.locals.URLs = { 
     resource1: '/production/resource1/url', 
     resource2: '/production/resource2/url', 
    } 
}); 
app.configure('development', function(){ 
    app.locals.URLs = { 
     resource1: '/development/resource1/url', 
     resource2: '/development/resource2/url', 
    } 
}); 

所以你將有機會獲得相同的變量,你可以在你的模板中使用

script(src="#{URLs.resource1}") 
0

如果導出應用程序變量,你可以使用app.get()所要求的文件,以獲取配置..