【问题标题】:Using angular-google-maps directive works during "grunt serve" but not during default grunt task使用 angular-google-maps 指令在“grunt serve”期间有效,但在默认 grunt 任务期间无效
【发布时间】:2014-06-11 03:22:35
【问题描述】:

我正在使用 Yeoman AngularJS 生成器构建地图应用程序。我已经使用 bower 安装了 angular-google-maps。如果我使用“grunt serve”来测试应用程序,它可以正常工作并且地图可以正确加载。如果我只是发出“grunt”来构建应用程序,它会失败并说“模块'google-maps'不可用!您拼错了模块名称或忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。”

我不确定为什么它不适用于默认任务。我运行了“grunt bowerInstall”并确认 index.html 确实对 angular-google-maps 有正确的引用。我也在加载 Google Maps API。

这是我的 app.js

angular
  .module('webappApp', [
    'ngCookies',
    'ngResource',
    'ngSanitize',
    'ngRoute',
    'google-maps'
  ])
  .config(function ($routeProvider) {
    $routeProvider
      .when('/', {
        templateUrl: 'views/main.html',
        controller: 'MainCtrl'
      })
      .otherwise({
        redirectTo: '/'
      });
  });

【问题讨论】:

    标签: javascript angularjs angular-google-maps


    【解决方案1】:

    我设法解决了这个问题。该错误发生在 Karma 测试期间,因为它没有找到 Google Maps API,也没有找到 angular-google-maps 源。所以我更新了 karma.conf.js 以从 bower_components 中提取 Google Maps API 和 angular-google-maps 源。

    files: [
      'http://maps.googleapis.com/maps/api/js?sensor=false',
      'app/bower_components/angular/angular.js',
      'app/bower_components/angular-mocks/angular-mocks.js',
      'app/bower_components/angular-resource/angular-resource.js',
      'app/bower_components/angular-cookies/angular-cookies.js',
      'app/bower_components/angular-sanitize/angular-sanitize.js',
      'app/bower_components/angular-route/angular-route.js',
      'app/bower_components/lodash/dist/lodash.compat.js',
      'app/bower_components/angular-google-maps/dist/angular-google-maps.js',
      'app/scripts/*.js',
      'app/scripts/**/*.js',
      'test/mock/**/*.js',
      'test/spec/**/*.js'
    ],
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 2020-11-13
      • 1970-01-01
      • 2015-08-12
      • 1970-01-01
      • 2015-12-24
      • 1970-01-01
      相关资源
      最近更新 更多