从 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/