2017-06-21 14 views
0

我有我的Angular 2應用程序。我在本地主機上運行。我有一個網頁url:localhost:5050。如果我直接粘貼URL本地主機:5050/TEST2我得到的瀏覽器頁面上的錯誤「不能得到/ test2的」 這是我的路線如果使用Ng版本,則無法導航到指定的網址

 { path: '', component: Test1Component }, 
     { path: 'test2', component: Test2Component }, 
     { path: 'test3', component: test3lComponent}, 

我不知道這個問題的想法。我必須向客戶發送鏈接(鏈接包含特定頁面的應用程序的網址)。因此客戶可以導航到實際的頁面從鏈接

更新:如果我使用納克服務運行本地主機:4200/TEST2它的工作原理(其路由) 但是,如果使用納克建立本地主機上運行:5050/TEST2我得到不能得到/ test2的錯誤

下面是我的server.js

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, 
    Content-Type, Accept, X-Trace-Id, X-Egress-Time, X-Ingress-Time"); 
    res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); 
next(); 
    }); 
    app.use(express.static(path.join(__dirname, '/dist'))); 
+0

什麼在Test2Component回事? 本地主機:5050/test2是否正常工作? 如果是的話,您是否曾嘗試將test3lComponent替換爲Test2Component作爲測試? –

+0

應用程序的流程很好。我可以按順序從test1正確路由到test2到test3。但是當我直接從瀏覽器導航到本地主機時:5050/test2我得到錯誤。它通過指定組件的直接路徑從url導航到任何頁面的主要任務 – NaveenKG

+0

好吧,我得到了你,你的路由器文件的其餘部分是什麼樣的? –

回答

0

我認爲它實際上是一個與您的服務器有關的問題,您當前正在向您的服務器發送一個獲取請求,該請求試圖匹配localhost:5050/test2,該請求不存在。如果您更改應用程序,以便所有未知路線返回基本應用程序角度將處理其餘的並重新路由您的應用程序基於URL。

即在快遞這樣的:

app.use('/*', express.static('./dist/index.html')); 
+0

我已閱讀並嘗試了幾種不同的方式 這就是它在我的節點'app.use('*',express.static(path.join(__ dirname,'/ dist')) );' 我試過你告訴我我得到這個錯誤 '未捕獲的SyntaxError:意外的令牌<' – NaveenKG

+0

你有沒有想過使用'express-http-proxy'這樣的代理? –