在我的应用程序中,我正在执行以下操作:
angular.module('myApp.controllers', ['ngCookies']).
controller('AppCtrl', function ($scope, socket, $cookies) {
console.log("socket:");
console.log(socket);
$scope.component = 'main';
gLoggedIn = "no";
gUserName = "";
console.log("reset logged in status");
sid = $cookies;
$scope.setComponent = function(val) {
$scope.component = val;
}
}).
但我一直得到错误:
TypeError: 'undefined' is not an object (evaluating 'angular.module')" and "Error: No module: ngCookies
很明显,我在模块中加载了['ngCookies']!更重要的是,我安装了一个有角度的、有角度的cookie和有角度的加载器,并将其添加到我的index.jade:中
script(src='bower_components/angular-cookies/angular-cookies.js')
script(src='bower_components/angular/angular.js')
script(src='bower_components/angular-loader/angular-loader.js')
那是什么呢?
我试着在不同的地方添加['ngCookies'],但没有成功:app.js,nope;services.js,nope;那么问题出在哪里呢?
在加载angular.js之前,您正在加载angular cookie。重新排列如下:
script(src='bower_components/angular/angular.js')
script(src='bower_components/angular-cookies/angular-cookies.js')
script(src='bower_components/angular-loader/angular-loader.js')
我认为这将解决你的问题。
我也有同样的失败,但我用yeoman角发生器创建了一个全新的项目。我在grunt test命令中得到了错误,我意识到问题是karma.conf.js没有加载angular cookie(angular resources和angular clease)依赖关系。所以我把它们添加到这个文件的files数组中。
files: [
'app/bower_components/angular/angular.js',
'app/bower_components/angular-cookies/angular-cookies.js',
'app/bower_components/angular-resource/angular-resource.js',
'app/bower_components/angular-sanitize/angular-sanitize.js',
'app/bower_components/angular-mocks/angular-mocks.js',
'app/scripts/*.js',
'app/scripts/**/*.js',
'test/mock/**/*.js',
'test/spec/**/*.js'
],
它起作用了!
我希望它对yeoman用户有用!