【问题标题】:Yeoman and angular - routing doesn't workYeoman 和 Angular - 路由不起作用
【发布时间】:2014-03-24 13:54:43
【问题描述】:

我正在尝试开始使用 yeoman 开发 Angular 应用程序。这听起来可能很愚蠢,但我在使用 yo:angular route 创建路线时遇到了问题。

当我使用以下方法创建新路线时:

yo:angular route foo

yeoman 创建:

app/scripts/controllers/foo.js              (controller)
app/views/foo.html                          (view)
app/test/spec/controllers/foo.js            (testing the controller)

它在 app.js 中创建:

  .config(function ($routeProvider) {
   $routeProvider
  .when('/', {
    templateUrl: 'views/main.html',
    controller: 'MainCtrl'
  })
  .when('/foo', {
    templateUrl: 'views/foo.html',
    controller: 'FooCtrl'
  })
  .otherwise({
    redirectTo: '/'
  });
});

所以一切都应该正常工作。不幸的是,路线不起作用 - 当我尝试打开时

http://localhost:9000/foo

我收到以下错误:

Cannot GET /foo

yeoman 中的路线概念看起来很简单,但我不确定问题出在哪里。

【问题讨论】:

  • 如何为您的应用提供服务?节点/apache/nginx/..?尝试在主页上链接到/foo并从主页访问它

标签: javascript angularjs yeoman


【解决方案1】:

您是否在 Angular 应用程序中启用了 HTML5 模式?如果不是,则 URL 为:

http://localhost:9000/#/foo

如果您在 Angular 应用程序中启用了 HTML5 模式,则必须确保您使用的任何服务器都已配置为处理所有路由,因为它们是应用程序的根。

【讨论】:

    猜你喜欢
    • 2018-02-22
    • 2018-06-17
    • 2017-12-12
    • 2014-05-05
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    相关资源
    最近更新 更多