【发布时间】:2016-05-02 18:40:10
【问题描述】:
我很新,正在尝试构建一个应用程序它工作正常
现在我正在尝试缩小文件:
错误:未知提供者:aProvider
uglify: {
my_target: {
files: {
'app/output/output.js': [
'app/js/angular-ui-router.js',
'app/js/angular-animate.js',
'app/js/packery.pkgd.js',
'app/js/app.js',
'app/js/services.js',
'app/js/controllers.js',
'app/js/directives.js'
]
}
}
}
1) 如何解决这个问题?
2) 一些博客示例建议在使用 uglify 之前使用 grunt-contrib-concat - 为什么?
第二个问题让我很困惑
编辑:
看完ng-annotate 它们必须使用数组语法编写。
我的代码结构是这样的
var app = angular.module('bigApp', []);
app.controller('mainController', ['$scope', function($scope) {
$scope.message = 'HOORAY!';
}]);
但没有解决错误'Unknown provider: aProvider
【问题讨论】:
-
说真的,谷歌搜索“角度缩小”。有几十页,包括在官方文档中,解释了如何使 Angular 代码最小化。使用 ng-annotate。
-
@JBNizet 感谢您的信息分享,我编辑了我的问题,请您检查一下
-
首先,我不会缩小 angular-ui-router 和 angular-animate:这两个提供了经过测试并且工作正常的缩小版本,您应该按原样重用它们(或按将它们与您自己的缩小文件连接起来)。第二:你误读了 ng-annotate:它的重点是让你编写简单的代码而不使用丑陋的数组语法。 ngannotate 将在缩小之前使用这种丑陋的数组语法重写您的代码,作为构建的一部分。第三,如果您仍然有这个问题,并且您只是缩小了代码,那么这意味着您在某处缺少数组语法。
标签: angularjs gruntjs grunt-contrib-uglify grunt-contrib-concat