AngularJS + RequireJS.未知提供商:$routeProvider
AngularJS + RequireJS. Unknown provider: $routeProvider?
我正在尝试将Angular与RequireJS一起使用,并且遇到Angular路由问题。 我收到的错误是" 未知提供程序:$routeProvider",因此我知道ngRoute依赖项不起作用。 我不知道为什么。 这是我下面的代码,有人可以帮我吗?
索引.html
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<!-- Place favicon.ico in the root directory -->
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/main.css">
<!-- <script src="js/vendor/modernizr-2.8.3.min.js"></script> -->
</head>
<body>
<!--[if lt IE 8]>
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
<div id="main">
<div ng-view>
</div>
<script data-main="js/main" src="js/vendor/require.js">
</body>
</html>
主.js
require.config({
paths: {
'angular': 'vendor/angular',
'domReady': 'vendor/domready',
'ngRoute': 'vendor/angular-route'
},
shim: {
'angular': {
exports: 'angular'
},
'ngRoute': {
deps: ['angular']
}
},
deps: ['./bootstrap']
});
引导.js
/**
* bootstraps angular onto the window.document node
*/
require([
'require',
'angular',
'ngRoute',
'./app',
'./routes'
], function (require, ng) {
'use strict';
require(['domReady!'], function (document) {
ng.bootstrap(document, ['app']);
});
});
应用.js
define('app',
[
'angular',
'ngRoute'
], function(ng) {
'use strict';
console.log('app.js loaded');
var app = ng.module('app', ['ngRoute']);
console.log(app);
return app;
});
路线.js
require(['app'], function(app) {
'use strict';
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/home', {
templateUrl: './views/home.html',
controller: 'homeCtrl'
});
}]);
});
我自己解决了这个问题。 这是我的新主.js和引导程序.js 希望它可以帮助其他人在使用 RequireJS + ngRoute 时遇到问题。 我仍然需要将我的 app.config 分离到另一个文件中,但目前这个解决方案运行良好。 谢天谢地。
主.js
require.config({
paths: {
'angular': 'vendor/angular',
'domReady': 'vendor/domready',
'angularRoute': 'vendor/angular-route'
},
shim: {
'angular': {
exports: 'angular'
},
'angularRoute': {
deps: ['angular'],
exports: 'angularRouter'
}
},
deps: ['./bootstrap']
});
引导.js
require(['angular', 'angularRoute'], function (angular, angularRoute) {
'use strict';
var app = angular.module('myApp', ['ngRoute']);
app.config(function($routeProvider) {
$routeProvider.when('/', {
templateUrl: 'js/views/home.html'
})
.otherwise('/');
});
angular.element(document).ready(function () {
angular.bootstrap(document, ['myApp']);
});
});
相关文章:
- Angularjs:如何在使用'解决'在$routeProvider中
- AngularJS routeprovider赢得'Don’我什么都不做
- 如何访问提供给Jade模板的所有选项
- 如何将javascript变量作为参数提供给asp.net方法
- 如何打开一个新窗口或选项卡,并将其提供给javascript执行
- 无法在routeprovider中注入控制器
- 用PHP读取另一个网站的源代码,并将其作为字符串提供给JavaScript
- 如果($_SERVER[“REQUEST_METHOD”]=“POST”)条件在ajax调用不同的php文件进行验证和提
- Javascript尽管ID不同,但只有第一个按钮提交给Ajax表单
- 使用routeProvider中的服务属性
- 是否可以像在$routeProvider中一样在 Angular AMD 中设置页面标题
- 反应错误“失败的 propType:提供给”提供者“的无效道具'子项',需要单个 ReactElement'
- js.erb文件中提供给RegExp构造函数的标志无效
- 将$scope对象作为参数提供给$digest中的观察者背后的逻辑
- 刷新Angular RouteProvider路由会导致Python出现404错误
- AngularJS-$routeProvider和数据ng视图的问题
- AngularJS:“;TypeError:undefined不是函数“”;使用routeProvider
- AngularJs:$routeProvider与动态控制器名称赢得't负载
- AngularJS ng点击不适用于$routeProvider中的controllerAs
- 如何使$routeProvider在angularjs中正常工作