can't use $httpProvider and locationProvider in angular.js
我是angular.js的新手。我使用了$ httpProvider和$ locationProvider
1 2 3 4 5 6 7 8 9 | <script src="lib/angular/angular.min.js"> <script src="lib/angular/angular-route.min.js"> <script src="lib/angular/angular-cookies.min.js"> angular.module('myApp', [ 'ngRoute','ngCookies' ]).config(['$routeProvider' , '$locationProvider', '$httpProvider' ,function($routeProvider) { $httpProvider.defaults.timeout = 5000; // error $locationProvider.html5Mode(true); // error }]) |
应用程序运行时,出现错误:未捕获的错误:[$ injector:modulerr] http://errors.angularjs.org/1.3.0-beta.2/$injector/modulerr?p0=myApp
我认为您忘记添加
尝试一下:
1 2 3 4 5 6 7 8 9 10 11 | <script src="lib/angular/angular.min.js"> <script src="lib/angular/angular-route.min.js"> <script src="lib/angular/angular-cookies.min.js"> angular.module('myApp', [ 'ngRoute','ngCookies' ]). config(['$routeProvider' , '$locationProvider', '$httpProvider', function($routeProvider, $locationProvider, $httpProvider) { $httpProvider.defaults.timeout = 5000; $locationProvider.html5Mode(true); }]) |
首先,您应该添加以下脚本:
1 2 3 | <script src="lib/angular/angular.min.js"> <script src="lib/angular/angular-route.min.js"> <script src="lib/angular/angular-cookies.min.js"> |
然后您应该配置:
1 2 3 4 5 6 | var app = angular.module('myApp', ['ngRoute','ngCookies']); app.config(['$routeProvider' , '$locationProvider', '$httpProvider', function ($routeProvider, $locationProvider, $httpProvider) { $httpProvider.defaults.timeout = 5000; $locationProvider.html5Mode(true); }]); |
注意:为避免错误:HTML5模式下的[$ location:nobase] $ location必须存在一个标签!)不要忘记添加:
1 2 3 4 5 6 | <head> ... ... <base href="/"> ... </head> |
您忘记将
1 2 3 4 5 6 | 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 }]); |
在这里,您添加了回调函数之前的字符串(在配置,控制器或指令中)是为了缩小JS,以允许angular匹配缩小的变量及其含义。
因此,您应该将所需的变量添加为参数:
1 2 3 4 5 6 7 8 | angular.module('myApp', [ 'ngRoute','ngCookies' ]).config( ['$routeProvider' , '$locationProvider', '$httpProvider', function($routeProvider, $locationProvider, $httpProvider) { $httpProvider.defaults.timeout = 5000; $locationProvider.html5Mode(true); }]) |