0

クライアント側のルートを Angular と Express 4 で設定してみます。ガイドngViewを使用し、Express なしで作業しましたが、Express ルーティングを有効にすると ngRoute が機能しません。ngRoute で動作するように Express をセットアップするにはどうすればよいですか?

少しのコード:

var app = angular.module('app', ['ngRoute']);

app.config(['$routeProvider', '$locationProvider',
  function($routeProvider, $locationProvider) {
    $routeProvider
      .when('/category/:catgegoryName', {
        templateUrl: 'category',
        controller: 'categoryController',
        controllerAs: 'category'
      })
      .when('/category/:catgegoryName/device/:deviceName', {
        templateUrl: 'device',
        controller: 'deviceController',
        controllerAs: 'device'
      })
      .otherwise({
        redirectTo: '/'
      });
    $locationProvider.html5Mode(true);
  }
]);

4

1 に答える 1

1

HTML5 モードを構成したので、Express 側で同じルート構造を複製する必要はありません。代わりに、Angular アプリが構成され、ブートストラップされるランディング ページ (通常は ) でサーバーが常に応答するようにする必要があります。index.html

したがって、ルート/category/somethingサーバーがまだindex.html. .when('/category/:catgegoryName', {...})次に、Angular は URL を解析し、ルートに対応するテンプレートとコントローラーを挿入する必要があることを理解します。

于 2015-05-24T13:50:46.643 に答える