试图创建一个简单的AngularJS项目。我在之前的项目中使用过AngularJS,所以我看不出我做错了什么。 的index.php
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>???</title>
<base href="OMMITED">
<link rel="stylesheet" href="css/loading-bar.css">
</head>
<body ng-app="limeApp">
<div ng-view></div>
<script src="js/angular.js"></script>
<script src="js/angular-route.js"></script>
<script src="js/angular-animate.js"></script>
<script src="js/loading-bar.js"></script>
<script src="js/controllers.js"></script>
<script src="js/app.js"></script>
</body>
</html>
所有文件都可以解决。 app.js
(function() {
var app = angular.module('limeApp', ['ngRoute', 'angular-loading-bar', 'ngAnimate', 'limeApp.controllers']);
app.config(function($routeProvider, $locationProvider, cfpLoadingBarProvider, $httpProvider, $compileProvider) {
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|skype|chrome-extension):/);
$locationProvider.html5Mode(true);
cfpLoadingBarProvider.includeSpinner = true;
$routeProvider
.when('/', {
title: 'Welcome',
templateUrl: 'index2.php/',
controller: 'defaultController'
});
}).run(['$location', '$rootScope', '$window', function ($location, $rootScope, $window) {
$rootScope.$on('$routeChangeStart', function (event, current, previous) {
$window.scrollTo(0, 0);
});
$rootScope.$on('$routeChangeSuccess', function (event, current, previous) {
$rootScope.title = current.$$route.title;
});
$rootScope.$on('$routeChangeError', function (event, current, previous, error) {
if (error.status === 404) {
$location.path('/404');
}
});
}]);
});
控制台抛出的错误是:
未捕获错误:[$ injector:modulerr]由于以下原因,无法实例化模块limeApp: 错误:[$ injector:nomod]模块&#39; limeApp&#39;不可用!您要么错误拼写了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。
编辑:我也试过在html标签上加入ng-app。
解决方案:似乎我错过了匿名函数的右括号。确保使用})();
关闭匿名函数