admin管理员组文章数量:1434247
When I use gulp-uglify to minify the Javascript files the order gets messed up.
Lets say I have this task working as expected:
var gulp = require('gulp');
var rename = require('gulp-rename');
var gp_concat = require('gulp-concat');
gulp.task('js', function() {
gulp.src([
'./public/bower_ponents/jquery/dist/jquery.min.js',
'./public/js/functions.js',
])
.pipe(gp_concat('bined.js'))
.pipe(gulp.dest(path.js + '/dist'))
});
Adding the uglify line to it changes the order of the jquery
and functions
files and places functions.js
above jquery
.
var gulp = require('gulp');
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');
var gp_concat = require('gulp-concat');
gulp.task('js', function() {
gulp.src([
'./public/bower_ponents/jquery/dist/jquery.min.js',
'./public/js/functions.js',
])
.pipe(gp_concat('bined.js'))
.pipe(gulp.dest(path.js + '/dist'))
.pipe(uglify({
preserveComments: 'license'
}))
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest(path.js + '/dist'))
});
Any possible solution to it ? Of course, functions.js is just a plane Javascript file with funtions in it and are not wrapped in an IIFE.
When I use gulp-uglify to minify the Javascript files the order gets messed up.
Lets say I have this task working as expected:
var gulp = require('gulp');
var rename = require('gulp-rename');
var gp_concat = require('gulp-concat');
gulp.task('js', function() {
gulp.src([
'./public/bower_ponents/jquery/dist/jquery.min.js',
'./public/js/functions.js',
])
.pipe(gp_concat('bined.js'))
.pipe(gulp.dest(path.js + '/dist'))
});
Adding the uglify line to it changes the order of the jquery
and functions
files and places functions.js
above jquery
.
var gulp = require('gulp');
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');
var gp_concat = require('gulp-concat');
gulp.task('js', function() {
gulp.src([
'./public/bower_ponents/jquery/dist/jquery.min.js',
'./public/js/functions.js',
])
.pipe(gp_concat('bined.js'))
.pipe(gulp.dest(path.js + '/dist'))
.pipe(uglify({
preserveComments: 'license'
}))
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest(path.js + '/dist'))
});
Any possible solution to it ? Of course, functions.js is just a plane Javascript file with funtions in it and are not wrapped in an IIFE.
Share Improve this question asked Sep 15, 2016 at 12:04 AlvaroAlvaro 41.6k31 gold badges172 silver badges348 bronze badges2 Answers
Reset to default 9Karol Klepacki's answer is correct about using hoist_funs
, but that's an option for the UglifyJS pressor. As such it needs to be provided within the press
option:
.pipe(uglify({
preserveComments: 'license',
press: { hoist_funs: false }
}))
Please try disabling functions hoisting:
var gulp = require('gulp');
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');
var gp_concat = require('gulp-concat');
gulp.task('js', function() {
gulp.src([
'./public/bower_ponents/jquery/dist/jquery.min.js',
'./public/js/functions.js',
])
.pipe(gp_concat('bined.js'))
.pipe(gulp.dest(path.js + '/dist'))
.pipe(uglify({
preserveComments: 'license',
hoist_funs: false
}))
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest(path.js + '/dist'))
});
本文标签: javascriptgulpuglify won39t preserve files orderStack Overflow
版权声明:本文标题:javascript - gulp-uglify won't preserve files order - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745619450a2666598.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论