javascript - Yeoman/Angular/Coffee .when() 路由器不会路由 - 无法获取

标签 javascript angularjs coffeescript router yeoman

从 Yeoman angular scaffolder 进行了基本安装,但在整个生命周期中,我无法让路由器加载基本模板。这是我的设置

//  index.html
<body ng-app="mvmdApp">
  <div class="container" ng-view=""></div>//  not sure how ng-view plays into this


//  app.coffee
myAppModule = angular.module("mvmdApp", [])
  .config( ($routeProvider, $locationProvider) ->
    $locationProvider.html5Mode true

    $routeProvider
      .when("/",
        templateUrl: "views/main.html"
        controller: "MainCtrl"
      )
      .when("/youtube",
        templateUrl: "views/youtube.html"
        controller: "YoutubeCtrl"
      )
  )


//  main.js
angular.module('mvmdApp')
  .controller 'MainCtrl', ($scope) ->
    $scope.awesomeThingss = [
      'HTML5 Boilerplate'
      'AngularJS'
      'Karma'
    ]

    $scope.youtube = ( $scope ) ->
      alert 'hi'

  .controller "YoutubeCtrl", ( $scope ) ->
    alert 'Work!'


//  views/youtube.html
<div class="youtube-unit">
  <div class="outer-frame">
    <div class="inner-frame">
      <iframe width="560" height="315" src="//www.youtube.com/embed/2FNEiTjcMM0" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
    </div>
  </div>
</div>

主 Controller 加载正常,我尽可能多地尝试复制它

转到 localhost:9000/youtube 给我一条 Cannot GET/youtube 消息。我觉得我已经尝试了所有组合。

最佳答案

这并不简单,但是您可以安装connect-modrewrite 中间件,您所要做的就是将任何路径重写到index.html。您还必须编辑 GruntFile.js 以修复实时重新加载,并在您的生产服务器上进行重写。有关如何执行此操作的一些指示,请参见此处 - http://ericduran.io/2013/05/31/angular-html5Mode-with-yeoman/

关于javascript - Yeoman/Angular/Coffee .when() 路由器不会路由 - 无法获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18553413/

相关文章:

javascript - 嵌套 promise 返回未定义

javascript - 如果部分中的所有div都被隐藏,则隐藏该部分

javascript - 当它到达浏览器的顶部时,位置固定了我的表格的第一行

javascript - 为什么要创建 jQuery 对象变量?

javascript - Angular $http $resource 相当于 PDF GET 请求

javascript - 为什么 backbone.js 在访问模型时返回一个空数组?

coffeescript - 有没有办法在 coffeescript 上运行柏拉图

javascript - 切换复选框在 Angular js 中不起作用,它总是显示

javascript - 根据他们在 angularjs/Javascript 中的评分将玩家分成两队

node.js - 在 Ubuntu 12.04 上使用大量 CPU 的 grunt watch