10

在我的应用程序中,我正在这样做:

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'] !更重要的是,我安装了 angular、angular-cookies 和 angular-loader,并将其添加到我的 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,不;services.js,不;那么问题是什么?

4

2 回答 2

18

您在加载 angular.js 之前加载 angular-cookies。像这样重新排列:

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')

我认为这将解决您的问题。

于 2013-08-17T10:22:41.763 回答
15

我遇到了完全相同的失败,但是使用yeoman angular generator创建了一个全新的项目。我收到了 grunt test 命令的错误,我意识到问题在于 karma.conf.js 没有加载 angular-cookies( angular-resources 和 angular-sanitize )依赖项。所以我将它们添加到这个文件的文件数组中。

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用户有用!

于 2013-10-19T09:59:44.387 回答