我正在使用Yeoman AngularJS生成器构建地图应用程序。我已经使用bower安装了angular-google-maps。如果我使用" grunt serve"测试应用程序,它工作正常,地图正确加载。如果我只是发出" grunt"为了构建应用程序,它失败了并且说“模块化”谷歌地图'不可用!您要么错误拼写了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。"
我不确定为什么它不能使用默认任务。我跑了" 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: '/'
});
});
答案 0 :(得分: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'
],