我创建了一个基于 ng-boilerplate 的应用程序。一切正常。但是,现在我即将部署,我想编译和缩小代码。这使用 grunt compile 已经足够简单了,但是应用程序在缩小时当然会中断。我没想到会少一点!
我已经将依赖项注入到我的控制器中,如下所示:
var appCtrl = app.controller('AppCtrl', function AppCtrl($scope, $rootScope, helpService, userService, menuService, $location) {... body ...});
appCtrl.$inject = ['$scope', '$rootScope', 'helpService', 'userService', 'menuService', '$location'];
我也试过这样:
var appCtrl = app.controller('AppCtrl', ['$scope', '$rootScope', 'helpService', 'userService', 'menuService', '$location',
function AppCtrl($scope, $rootScope, helpService, userService, menuService, $location) {... body ...}]);
我得到的只是这样的错误:错误:未知提供者:aProvider <- a
我还查看了我的服务并以与上述第二种方法类似的方式注入了依赖项,但随后我开始在程序中遇到错误,即使它没有被缩小。它告诉我 $q 没有方法 defer()!
app.factory('checkAuth', ['$q', '$location', '$filter', '$rootScope', function ($q, $location, $filter, $rootScope) {...body...}]);
我的问题是,我错过了什么?我是否正确地进行了依赖注入?还有其他地方需要DI吗?
谢谢!
编辑:刚刚发现这个:Angular.module 缩小错误
它还没有完全解决问题......我现在收到错误:
TypeError: Object #<error> has no method 'slice'
但至少这远离错误:未知提供者:aProvider <- a :-)