2014-09-03 3 views
1

angular.js를 처음 사용합니다. 그리고 내가 사용하는 $ httpProvider 및 $ locationProvider

<script src="lib/angular/angular.min.js"></script> 
    <script src="lib/angular/angular-route.min.js"></script> 
    <script src="lib/angular/angular-cookies.min.js"></script> 
angular.module('myApp', [ 
    'ngRoute','ngCookies' 
]).config(['$routeProvider' , '$locationProvider', '$httpProvider' ,function($routeProvider) { 
    $httpProvider.defaults.timeout = 5000; // error 
    $locationProvider.html5Mode(true); // error 
}]) 

앱이이 오류와 함께 나온 실행

: catch되지 않은 오류 : [$ 주입기 : modulerr]? http://errors.angularjs.org/1.3.0-beta.2/ $ 인젝터/modulerr P0 =을 myApp & P1 = 참조 /localhost/lib/angular/angular.min.js)

내 angular-min.js, angular-route.js, angular-cookie.js는 모두 1.3.0 beta.2입니다. 이유를 모르겠 음 일어나고있는거야?

답변

3

$locationProvider$httpProvider을 설정 기능의 인수로 추가하는 것을 잊었을 것으로 생각합니다.

이 시도 :

<script src="lib/angular/angular.min.js"></script> 
    <script src="lib/angular/angular-route.min.js"></script> 
    <script src="lib/angular/angular-cookies.min.js"></script> 
    angular.module('myApp', [ 
    'ngRoute','ngCookies' 
    ]). 
    config(['$routeProvider' , '$locationProvider', '$httpProvider', 
    function($routeProvider, $locationProvider, $httpProvider) { 
    $httpProvider.defaults.timeout = 5000; 
    $locationProvider.html5Mode(true); 
    }]) 
0

문자열을 사용하면 콜백 함수 전에 추가 (설정에서, 컨트롤러 또는 지시)를 허용하도록 JS의 축소를하는 경우 여기에있는 축소 된 변수와 의미에 맞게 각도 .

따라서, 당신은 당신이 매개 변수로 필요한 변수를 추가해야합니다

angular.module('myApp', [ 
    'ngRoute','ngCookies' 
]).config(
['$routeProvider' , '$locationProvider', '$httpProvider', 
function($routeProvider, $locationProvider, $httpProvider) { 
    $httpProvider.defaults.timeout = 5000; 
    $locationProvider.html5Mode(true); 
}]) 
1

당신은 인수로 $locationProvider$httpProvider를 주입하는 것을 잊었다.

var app = angular.module('myApp', ['ngRoute','ngCookies']); 

app.config(['$routeProvider' , '$locationProvider', '$httpProvider', function ($routeProvider, $locationProvider, $httpProvider) { 
     $httpProvider.defaults.timeout = 5000; // error 
     $locationProvider.html5Mode(true); // error 
}]); 
0

우선 다음과 같은 스크립트를 추가해야합니다 :

<script src="lib/angular/angular.min.js"></script> 
<script src="lib/angular/angular-route.min.js"></script> 
<script src="lib/angular/angular-cookies.min.js"></script> 

은 다음 구성해야합니다

var app = angular.module('myApp', ['ngRoute','ngCookies']); 

app.config(['$routeProvider' , '$locationProvider', '$httpProvider', function ($routeProvider, $locationProvider, $httpProvider) { 
     $httpProvider.defaults.timeout = 5000; 
     $locationProvider.html5Mode(true); 
}]); 

참고을 : [$ 위치 : nobase] $ 위치 오류를 방지하려면 HTML5 모드에서는 태그가 있어야합니다.) 다음을 추가하는 것을 잊지 마십시오 :

<head> 
... 
... 
<base href="/"> 
... 
</head> 
관련 문제