2013-08-31 5 views
1

Yeoman 각형 스캐 폴더의 기본 설치가 있고 그 수명 동안 라우터에 기본 템플릿을로드 할 수 없습니다. 여기 내 설치가Yeoman/Angular/Coffee .when() 라우터가 라우팅되지 않습니다. GET을 할 수 없습니다.

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

메인 컨트롤러의 부하를 잘, I는 배출량의 가능한 한 많이 복사하여 복사하십시오.

로컬 호스트 : 9000/youtube로 이동하면 Cannot GET /youtube 메시지가 나타납니다. 나는 모든 조합을 시도한 것 같은 기분이 든다.

답변

0

Html5 모드는 Javascript뿐 아니라이를 지원하는 서버가 필요합니다.

/youtube를 시도 할 때 먼저 서버로 이동합니다. 서버가 관리 할 수없는 경우 각도 애플리케이션을 렌더링하여 라우터가 경로를 포착하여 필요한 것을 표시 할 수 있도록해야합니다.

Yeoman이 html5 모드를 정직하게 지원하는지 잘 모르겠습니다.

yeoman과 같은 linemanjs을 시도해 볼 수 있으며 html5 모드를 지원합니다.

당신은 보좌관을 사용하여 유사시 또는 사용 hashbang : 그것은 간단하지 않습니다

2

위한 HTML5 모드 구글,하지만 당신은 connect-modrewrite 미들웨어를 설치하려는 당신이해야 할 index.html 어떤 경로를 다시 작성하는 경우 . 라이브로드를 수정하려면 GruntFile.js을 편집하고 프로덕션 서버에서도 다시 작성해야합니다. 이 작업을 수행하는 방법에 대한 몇 가지 지침은 여기를 참조하십시오. - http://ericduran.io/2013/05/31/angular-html5Mode-with-yeoman/

+0

감사합니다. –

관련 문제