我无法说服为什么uglify不适用于我的应用程序.js(angularjs(文件。这是我的js文件的一部分。
(function() {
'use strict';
var coursesApp = angular.module('pwaCoursesApp',['ngRoute', 'ngSanitize'])
coursesApp.config(['$routeProvider', '$locationProvider', function( $routeProvider, $locationProvider){
$routeProvider
.when('/',
{
templateUrl: '/home.html',
controllerAs: 'homeCtrl'
})
.otherwise({redirectTo:'/'});
}]);
coursesApp.controller('homeCtrl', function($scope, $http) {
});
})();
这是我的咕噜咕噜的丑陋脚本
gulp.task('scripts', function() {
var sources = [
'node_modules/es6-promise/dist/es6-promise.js',
'app/scripts/app.js',
];
return gulp.src(sources)
.pipe($.concat('main.min.js'))
.pipe($.uglify())
.pipe(gulp.dest('dist/scripts'))
.pipe($.size({title: 'scripts'}));
});
Gulp 告诉我它成功地丑化了,但是当我渲染我的应用程序时,它根本无法正常工作并显示该错误消息。
main.min.js:2 Error: [$injector:unpr] http://errors.angularjs.org/1.3.8/$injector/unpr?p0=tProvider%20%3C-%20t%20%3C-%20homeCtrl
at http://localhost:3000/scripts/main.min.js:1:6739
at http://localhost:3000/scripts/main.min.js:1:22851
at Object.r [as get] (http://localhost:3000/scripts/main.min.js:1:21847)
at http://localhost:3000/scripts/main.min.js:1:22924
at r (http://localhost:3000/scripts/main.min.js:1:21847)
at Object.i [as invoke] (http://localhost:3000/scripts/main.min.js:1:22103)
at l.instance (http://localhost:3000/scripts/main.min.js:2:10025)
at http://localhost:3000/scripts/main.min.js:2:1403
at o (http://localhost:3000/scripts/main.min.js:1:7233)
at x (http://localhost:3000/scripts/main.min.js:2:1387) <div ng-view="" class="ng-scope">
但不是丑陋的,它工作顺利。请让我知道我错过了什么。谢谢。
这
通常发生在使用快捷方式语法注入依赖项时。
angular
.module('myapp')
.controller('myController', function ($rootScope, $location) {
})
是快捷方式语法的一个示例。
这很糟糕,因为依赖项不是写在字符串中。所以当你缩小它时,它会变成类似
function(a,b)
哪个遗忘不起作用。
请改用$inject。
有关更多信息,请参阅此处。