2016-04-27 15 views
1

私は私のアプリのコンポーネントで定義されたいくつかのルートを持っている:ノードエクスプレスで角2スラッシュルートを使用する方法?

@routeConfig([ 
{ 
    path:'login', 
    name: 'Login', 
    component: Login 
}} 

、非常に基本的なノード特急ローダー:

var express = require('express'); 
var app = express(); 

app.use(express.static('app')); 
app.use('/node_modules', express.static(__dirname + '/node_modules/')); 

app.get('/home', function(req, res, next) { 
    next(); 
}); 

app.listen(3000, function() { 
    console.log('Serverlistening on port 3000!'); 
}); 

私の問題は、「/ログイン」/に行くノード速達で傍受されていることですそれは「取得/ログインできません」と表示されます。 Angular2で処理します。ノードライトサーバーでは正常に動作しましたが、高速では動作しませんでした。

これらのルートを無視してAngularがそれらを処理するようにexpressを設定するにはどうすればよいですか?あなたのルートをこのように設定しようとすることができ

答えて

2

@routeConfig([ 
    { 
    path:'/login', // <---------- 
    name: 'Login', 
    component: Login 
    } 
]) 

編集

あなたが要求を直接ヒットした場合、あなたはのためindex.htmlファイルの内容を返すために何かを持っている必要がありますExpressアプリケーションにリクエストしてください。

これは、Angular2で定義された各ルートに対して実行する必要があります。そうしないと、404エラーが発生します。

+0

Nopに働いていない:

は、より多くの詳細については、この質問を参照してください。私はブラウザからURLを直接叩いています(リンクをクリックしていない)。問題はExpressが最初にリクエストを取得してから一致するものが見つからないため、エラーがスローされることです。 – Baconbeastnz

+1

リクエストを直接ヒットした場合、リクエストの 'index.html'ファイルの内容をExpressアプリケーションに返す必要があります。 –

+0

この質問を見る:http://stackoverflow.com/questions/ 35284988/angular-2-404-error-occur-i-refresh-through-browser/35285068#35285068 –