2017-04-14 133 views
0

我目前正在通過節點js應用程序服務angular1應用程序。 我想爲我的angular1應用程序以及來自同一個域的angular2應用程序服務於此節點服務器。 我已經按照我的節點js文件的app.js設置:根據URL設置nodejs項目目錄

var staticDir = nodeEnv == 'development' ? path.join(__dirname, '/home/sovf/ang1/') : '/data/project/angular/app'; 

我angular1項目目錄是在這裏:/家庭/ sovf/ANG1/ 我angular2項目目錄是在這裏:/家庭/ svof/ANG2/

我如何配置staticDir使用「/家庭/ svof/ANG2 /」,當URL匹配/ ANG2/*

我試圖enogh尋找資源和節點配置了這一點,但可能找不到任何東西。任何人都可以在這裏幫忙。

回答

1

您可以創建一個使用/home/svof/ang2爲根目錄(它應該尋找靜態資源)的express.static一個新的實例,「摩的」上/ang2該實例,所以將只匹配以該前綴開頭的請求:

app.use('/ang2', express.static(path.join(__dirname, '/home/svof/ang2'))); 
+0

我嘗試添加此: app.use( '/新/',express.static(path.join(__目錄名, '/家庭/ svof/ANG2'))); 但是這次靜態資源不加載,我在控制檯中得到這個錯誤: 無法獲取GET https://hostname/inline.bundle.js 不知道我在哪裏丟失 – undefined

+0

它似乎已經選擇了索引。正確的HTML,但不是JS文件。 – undefined

+0

什麼是目錄結構,以及如何從HTML請求JS文件?理想情況下,你需要使用絕對路徑('/ ang2/js/somefile.js') – robertklep