使用Express.js时如何在Angular.js中自动声明路由

时间:2013-08-08 20:05:35

标签: node.js angularjs express dry

我正在构建一个Express.js和Angular.js应用程序。我注意到,当我向Angular.js添加视图和控制器时,我正在复制工作。我实际上是在两个地方宣布这条路线。它看起来不太干。

这里我在Express中添加路由:

app.get('/api/admin', admin.root(req, res));

我的Angular配置:

angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives']).
  config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) 
    {
      $routeProvider.when('/api/admin', {templateUrl: 'admin', controller: AdminCtrl});
      $routeProvider.otherwise({redirectTo: '/'});
      $locationProvider.html5Mode(true);
    }
]);

我的问题是,有没有办法不必在angular.module函数中声明每个路由?也许自动生成这个?

1 个答案:

答案 0 :(得分:0)

AngularJS是一个全面的框架,它不需要expressJS来处理视图。

expressJS部分应该是唯一产生API(通常是RESTful API)的“后端”部分。然后AngularJS就是这个API的客户端。

AngularJS路由器和API是两个不同的东西,所以没有重复,即使路由名称相同。