【发布时间】:2015-09-07 11:08:49
【问题描述】:
我正在使用 AngularJS,我的应用程序 JS 设置如下。
var userApp = angular.module('userApp',['ngRoute','ngAnimate', 'bw.paging', 'appConfig', 'userControllers']);
userApp.run(function($rootScope, $location) {
$rootScope.pagination = { };
});
userApp.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
}]);
userApp.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/', {
templateUrl : 'partials/index.html',
controller : 'IndexController'
})
.otherwise({
templateUrl : 'partials/routeNotFound.html',
controller : 'NotFoundController'
});
}]);
var userControllers = angular.module('userControllers', []);
然后我继续使用 gulp 对这个 JS 文件进行 lint。
gulp.task('lint1', function() {
gulp.src('test.js')
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
我没有收到任何错误报告。接下来,我继续使用gulp-uglify 缩小它。
gulp.task('minify1', function() {
gulp.src('test.js')
.pipe(uglify())
.pipe(gulp.dest('dist'));
});
我得到一个缩小的输出。但是,当我在我的 html 应用程序中使用缩小的输出时,我得到一个 AngularJS 错误。当我将丑化的 JS 美化回来时(通过 jsbeautifier.org),我看到以下结果。
var userApp = angular.module("userApp", ["ngRoute", "ngAnimate", "bw.paging", "appConfig", "userControllers"]);
userApp.run(function(r, e) {
r.pagination = {}
}), userApp.config(["$httpProvider", function(r) {
r.defaults.useXDomain = !0
}]), userApp.config(["$routeProvider", function(r) {
r.when("/", {
templateUrl: "partials/index.html",
controller: "IndexController"
}).otherwise({
templateUrl: "partials/routeNotFound.html",
controller: "NotFoundController"
})
}]);
var userControllers = angular.module("userControllers", []);
如您所见,逗号, 应该有分号;。我的输入 JS 文件是坏的还是 gulp-uglify 搞砸了?我该如何解决这个问题?
【问题讨论】:
-
与您的问题无关,您的代码还有一些其他问题,例如两次使用
.config和使用$rootScope -
alert(1), alert(2);是完全有效的javascript。我认为 uglify 的翻译没有问题。您应该阅读以下内容:javascriptweblog.wordpress.com/2011/04/04/… -
@Blowsie 我该如何解决这些问题?对于
.config,我可以将它们放在一种配置中,例如userApp.config(['$httpProvider', '$routeProvider', function($httpProvider, $routeProvider) { ... }])。这会“更好”吗?但是,当您说$rootScope存在问题时,我不确定您的意思。那是我存储全局变量的地方,以便在不同的路由中进行分页以及在路由之间导航时(我想保持状态)。
标签: javascript angularjs gulp gulp-uglify