尝试使用angular:
启动cordova应用程序构建时遇到错误Web Console(3921): Uncaught Error: [$injector:modulerr]
http://errors.angularjs.org/1.2.9/$injector/modulerr?p0=pkolApp&p1=Error%3A%20%5B%24injector%3Amodulerr%5D%20http%3A%2F%2Ferrors.angularjs.org%2F1.2.9%2F%24injector%2Fmodulerr%3Fp0%3DpkolApp.news%26p1%3DError%253A%2520%255B%2524injector%253Anomod%255D%2520http%253A%252F%252Ferrors.angularjs.org%252F1.2.9%252F%2524injector%252Fnomod%253Fp0%253DpkolApp.news%250A%2520%2520%2520%2520at%2520Error%2520(unknown%2520source)%250A%2520%2520%2520%2520at%2520file%253A%252F%252F%252Fandroid_asset%252Fwww%252Flib%252Fangular%252Fangular.min.js%253A6%253A449%250A%2520%2520%2520%2520at%2520file%253A%252F%252F%252Fandroid_asset%252Fwww%252Flib%252Fangular%252Fangular.min.js%253A20%253A260%250A%2520%2520%2520%2520at%2520file%253A%252F%252F%252Fandroid_asset%252Fwww%252Flib%252Fangular%252Fangular.min.js%253A21%253A261%250A%2520%2520%2520%2520at%2520file%253A%252F%252F%252Fandroid_asset%252Fwww%252Flib%252Fangular%252Fangular.min.js%253A29%253A175%250A%2520%2520%2520%2520at%2520Array.forEach%2520(native)%250A%2520%2520%2520%2520at%2520q%2520(file%253A%252F%252F%252Fandroid_asset%252Fwww%252Flib%252Fangular%252Fangular.min.js%253A7%253A274)%250A%2520%2520%2520%2520at%2520e%2520(file%253A%252F%252F%252Fandroid_asset%252Fwww%252Flib%252Fangular%252Fangular.min.js%253A29%253A115)%250A%2520%2520%2520%2520at%2520file%253A%252F%252F%252Fandroid_asset%252Fwww%252Flib%252Fangular%252Fangular.min.js%253A29%253A192%250A%2520%2520%2520%2520at%2520Array.forEach%2520(native)%0A%20%20%20%20at%20Error%20(unknown%20source)%0A%20%20%20%20at%20file%3A%2F%2F%2Fandroid_asset%2Fwww%2Flib%2Fangular%2Fangular.min.js%3A6%3A449%0A%20%20%20%20at%20file%3A%2F%2F%2Fandroid_asset%2Fwww%2Flib%2Fangular%2Fangular.min.js%3A30%3A1%0A%20%20%20%20at%20Array.forEach%20(native)%0A%20%20%20%20at%20q%20(file%3A%2F%2F%2Fandroid_asset%2Fwww%2Flib%2Fangular%2Fangular.min.js%3A7%3A274)%0A%20%20%20%20at%20e%20(file%3A%2F%2F%2Fandroid_asset%2Fwww%2Flib%2Fangular%2Fangular.min.js%3A29%3A115)%0A%20%20%20%20at%20file%3A%2F%2F%2Fandroid_asset%2Fwww%2Flib%2Fangular%2Fangular.min.js%3A29%3A192%0A%20%20%20%20at%20Array.forEach%20(native)%0A%20%20%20%20at%20q%20(file%3A%2F%2F%2Fandroid_asset%2Fwww%2Flib%2Fangular%2Fangular.min.js%3A7%3A274)%0A%20%20%20%20at%20e%20(file%3A%2F%2F%2Fandroid_asset%2Fwww%2Flib%2Fangular%2Fangular.min.js%3A29%3A115) at file:///android_asset/www/lib/angular/angular.min.js:30
那是我的app.js
'use strict';
angular
.module('pkolApp', [
'ngTouch',
'ngRoute',
'ngAnimate',
'ngSanitize',
'ng-iscroll',
'once',
'fsCordova',
'pkolApp.news',
'pkolApp.calendar',
'pkolApp.team',
'pkolApp.txt',
'pkolApp.directives',
'pkolApp.services',
'pkolApp.controllers'
])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/', {templateUrl: 'partials/start.html', controller: 'StartController'});
$routeProvider.when('/sponsors', {templateUrl: 'partials/sponsors.html', controller: 'SponsorsController'});
$routeProvider.when('/main', {templateUrl: 'partials/main.html', controller: 'MainController'});
$routeProvider.when('/oursponsors', {templateUrl: 'partials/our-sponsors.html', controller: 'OurSponsorsController'});
$routeProvider.when('/team', {templateUrl: 'partials/team.html', controller: 'TeamController'});
$routeProvider.when('/team/:sport', {templateUrl: 'partials/team-list.html', controller: 'TeamController'});
$routeProvider.when('/team/:sport/:person', {templateUrl: 'partials/team-person.html', controller: 'TeamController'});
$routeProvider.when('/news', {templateUrl: 'partials/news.html', controller: 'NewsListController'});
$routeProvider.when('/news/:newsId', {templateUrl: 'partials/news-read.html', controller: 'NewsController'});
$routeProvider.when('/calendar', {templateUrl: 'partials/calendar.html', controller: 'CalendarController'});
$routeProvider.when('/calendar/:day', {templateUrl: 'partials/calendar.html', controller: 'CalendarController'});
$routeProvider.when('/page/:page', {templateUrl: 'partials/page.html', controller: 'TextController'});
$routeProvider.otherwise({redirectTo: '/main'});
}]);
angular.module('fsCordova', [])
.service('CordovaService', ['$document', '$q', function($document, $q) {
var d = $q.defer(),
resolved = false;
var self = this;
this.ready = d.promise;
document.addEventListener('deviceready', function() {
resolved = true;
d.resolve(window.cordova);
});
setTimeout(function() {
if (!resolved) {
if (window.cordova)
d.resolve(window.cordova);
}
}, 3000);
}]);
/* Controllers */
angular.module('pkolApp.controllers', [])
.controller('MainCtrl', ['$scope', '$rootScope', '$window', '$location', 'updateService', 'CordovaService', function($scope, $rootScope, $window, $location, updateService, CordovaService) {
CordovaService.ready.then(function() {
$rootScope.isLoading = false;
$scope.slide = '';
$rootScope.back = function() {
$rootScope.isLoading = true;
$scope.slide = 'slide-left';
$window.history.back();
};
$rootScope.go = function(path) {
$rootScope.isLoading = true;
$scope.slide = 'slide-left';
$location.path(path);
};
$rootScope.$on('$routeChangeSuccess', function() {
$rootScope.isLoading = false;
});
});
}])
.controller('StartController', ['$scope', '$timeout', '$rootScope', 'CordovaService', function($scope, $timeout, $rootScope, CordovaService) {
var init = function() {
$rootScope.go('/sponsors');
};
CordovaService.ready.then(function() {
$timeout(init, 3000);
});
}])
.controller('SponsorsController', ['$scope', '$timeout', '$rootScope', 'CordovaService', function($scope, $timeout, $rootScope, CordovaService) {
var init = function() {
$rootScope.go('/main');
};
$scope.$on('$viewContentLoaded', function() {
$timeout(init, 4000);
});
}])
.controller('MainController', ['$scope', function($scope) {
}])
.controller('OurSponsorsController', ['$scope', function($scope) {
}])
.controller('TeamController', ['$scope', '$routeParams', 'Team', function($scope, $routeParams, Team) {
$scope.sports = Team.sports();
if (typeof $routeParams.sport != 'undefined') {
var $sport = $routeParams.sport;
$scope.sport = Team.getSport({id: $sport});
$scope.persons = Team.getTeam({id: $sport});
$scope.picturePath = Team.picturePath();
}
if (typeof $routeParams.person != 'undefined') {
var $person = $routeParams.person;
$scope.person = Team.getPerson({id: $person});
}
$scope.iconPathBlack = Team.icon('black');
$scope.iconPathWhite = Team.icon('white');
}])
.controller('NewsListController', ['$scope', 'News', function($scope, News) {
$scope.list = News.query();
}])
.controller('NewsController', ['$scope', '$routeParams', 'News', function($scope, $routeParams, News) {
$scope.nws = News.get({id: $routeParams.newsId});
$scope.showBody = function() {
return $sce.trustAsHtml($scope.news.body);
};
}])
.controller('CalendarController', ['$scope', '$routeParams', 'Calendar', '$http', function($scope, $routeParams, Calendar, $http) {
if (typeof $routeParams.day != 'undefined') {
var $day = $routeParams.day;
} else {
var $day = -1;
}
$scope.iconPath = Calendar.icon('black');
$scope.days = Calendar.days();
$scope.day = Calendar.get({id: $day});
$scope.Pol = function(v) {
if (v == 1) {
return true;
} else {
return false;
}
};
}])
.controller('TextController', ['$scope', '$routeParams', 'Txt', function($scope, $routeParams, Txt) {
if (typeof $routeParams.page != 'undefined') {
var $page = $routeParams.page;
$scope.page = Txt.get($page);
}
}]);
angular.module('pkolApp.services', [])
.service('updateService', ['$rootScope', '$http', '$interval', 'Calendar', 'Team', 'News', 'Txt', function($rootScope, $http, $interval, Calendar, Team, News, Txt) {
$rootScope.isUpdating = true;
$http.jsonp("http://www.domain.com/app/update?callback=JSON_CALLBACK")
.success(function(data, status) {
Calendar.import(data.calendar);
Team.import(data.team, data.sports);
News.import(data.news);
Txt.import(data.pages);
$rootScope.isUpdating = false;
})
.error(function(status) {
$rootScope.isUpdating = false;
});
var getData = function() {
$rootScope.isUpdating = true;
$http.jsonp("http://www.domain.com/app/update?callback=JSON_CALLBACK")
.success(function(data, status) {
Calendar.import(data.calendar);
Team.import(data.team, data.sports);
News.import(data.news);
Txt.import(data.pages);
$rootScope.isUpdating = false;
})
.error(function(data, status) {
$rootScope.isUpdating = false;
});
};
$interval(getData, 900000);
}]);
/* Directives */
angular.module('pkolApp.directives', [])
.directive('appVersion', ['version', function(version) {
return function(scope, elm, attrs) {
elm.text(version);
};
}])
.directive('expandable', function() {
return {
link: function(scope, element, attrs) {
scope.$watch("page.body", function(val) {
if (val) {
$('.expandable').Expandable();
}
});
}
}
});
在Android 4.1,4.2甚至2.3.6上,一切都很完美。此外,还包括所有必需的模块等。我检查了一切,现在我被卡住了......
即使仅在index.html中附加了angular.js,这个错误似乎也会出现。
任何提示?