2017-12-05 14 views
0

Angular Routerを使用してAngularJSをNodeJSサーバーで実行しようとしています。私はNodeでさまざまなビューを提供するつもりはありませんが、代わりに角度ルータを使用したいと思います。この最初のページは正しくエラーなく表示されますが、別のリンクをクリックしようとすると、ブラウザに次のメッセージが表示されます error code以下は、サーバースクリプト、ルーティングスクリプト、およびHTML内のリンクの関連コードです。NodeJSサーバーとAngularでngRouteを使用するファイルの処理

HTMLリンク

<li><a href="./add">Add Workout</a></li> 

Server.js

app.get('/', function(req, res) { 
    res.sendFile(path.join(__dirname + '/public/app/views/home.html')); 
}); 

app.use(express.static('public')); 

App.js

var app = angular.module("fitness2Uapp", ["ngRoute"]); 
app.config(function($routeProvider) { 
    $routeProvider 
     .when("/", { 
      templateUrl : "./app/views/home.html" 
     }) 
     .when("/browse", { 
      templateUrl : "./app/views/browse.html" 
     }) 
     .when("/add", { 
      templateUrl : "./add.html" 
     }) 
     .when("/workout", { 
      templateUrl : "./app/views/workout.html" 
     }); 
    }); 

答えて

0

「CATCに入れてみてくださいメインページにリダイレクトされる「h all」ルートを選択します。これにより角度ルーティング機構が起動することができます。問題は、ノード・サーバー上でエンドポイント・パス「/ add」を見つけることですが、何も見つかりません。これは最後にルートがあなたのサーバで確立されているはずです。

私は個人的にAngularJSを使用し、これを実行しなければならず、すべてがうまくいきます。これはまた、これはURLをタイプ入力されたとき、それはエラーを描画しないという意味で働いていたAngular2 +

// Catch all if all other routes fail to match. 
app.get('*', (req, res) => { 
    res.sendFile(path.resolve(`${__dirname}/path/to/home.html`)); 
}); 
+0

と同じように実行するかどうかわからない、しかし、ブラウザがでキャッチされるように見せかけて失速します無限ループ。 –

関連する問題