2014-12-01 76 views
2

我有一個託管在/public一個獨立的前端應用程序和REST API的一個節點應用。前端應用程序僅通過REST與後端進行通信,但現在我需要發送初始應用程序負載的一些基本配置信息。通過節點將數據發送到前端應用程序?

與頁面加載時發出ajax請求不同,我想在請求/index.html時發送所需的配置信息,因爲它是運行應用程序所必需的。

什麼是設置最簡單的方法的一些基本配置?

有沒有一種方法可以讓我成爲通過節點的一些腳本,然後從服務器參數呢?

喜歡的東西 /scripts/config.js

angular.constant('value1', '#{some parameterized server value}'); 

我用快遞。

回答

2

您可以再補充,供應了配置的路由。 有點像。

app.get('/scripts/config.js', function(req, res) { 
    var content = 'angular.module(\'config\', [])\n'; 
    content += ' .constant(\'value1\', ' + someValue + ')'; 
    res.set('Content-Type', 'text/javascript'); 
    return res.send(content); 
} 
1

做未做一個Ajax請求的唯一方法是在您的index.html你可以點讀/寫你的配置屬性這個文件config.json文件。

在角執行的順序是:

  1. app.config()
  2. app.run()
  3. 編譯功能指令
  4. app.controller
  5. 指令聯

你可以把您在app.config()app.run()中的kickstarting邏輯。

我相信,最好的做法,雖然是獨立的你的配置邏輯模塊中,並使用$ HTTP動態獲取的屬性。

+0

只是一般性評論..除非最近有什麼變化,你不能在app.config中使用$ http。所以不幸的是,你不能使用它來引導應用程序。即使你可以,應用程序也不會在進入運行階段之前等待承諾。如果我在這裏錯了(而且我願意這樣做),讓我知道。 – Stephen 2014-12-01 20:21:36

+0

你沒有錯,事實上你是對的。這就是爲什麼我從不在'config()'或'run()'中使用$ http的原因,而是在一個單獨的模塊中。 – Thanos 2014-12-01 20:40:54

+0

對,對。男人,多麼沮喪。這個小功能可能會造成如此大的差別。*嘆* – Stephen 2014-12-01 21:37:23

相關問題