Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 吞咽未按顺序执行的文件数组_Javascript_Arrays_Gulp_Uglifyjs - Fatal编程技术网

Javascript 吞咽未按顺序执行的文件数组

Javascript 吞咽未按顺序执行的文件数组,javascript,arrays,gulp,uglifyjs,Javascript,Arrays,Gulp,Uglifyjs,我要在主文件assets.min.js中连接和缩小我的js文件(在filesJs数组中),但我的文件不是按照数组的顺序连接的 守则: var gulp = require('gulp'); var gulpConcat = require('gulp-concat'); var gulpPlumber = require('gulp-plumber'); var gulpSourceMaps = require('gulp-sourcemaps'); var gulpUglify = requi

我要在主文件assets.min.js中连接和缩小我的js文件(在filesJs数组中),但我的文件不是按照数组的顺序连接的

守则:

var gulp = require('gulp');
var gulpConcat = require('gulp-concat');
var gulpPlumber = require('gulp-plumber');
var gulpSourceMaps = require('gulp-sourcemaps');
var gulpUglify = require('gulp-uglify');

var pathSource = 'web/bundles/sf';
var pathSourceJs = pathSource + '/js';

var pathTarget = 'web/bundles/sf/build';
var pathTargetJs = pathTarget + '/js';

var filesJs = [
    pathSourceJs + '/jquery.js',
    pathSourceJs + '/jquery1.7.2.js',
    pathSourceJs + '/jquery.themepunch.plugins.min.js',
    pathSourceJs + '/jquery.themepunch.revolution.min.js',
    pathSourceJs + '/jquery.stellar.js',
    pathSourceJs + '/custom.js',
    pathSourceJs + '/jquery.jcarousel.min.js',
    pathSourceJs + '/waypoints.js',
    pathSourceJs + '/jquery.easypiechart.min.js',
    pathSourceJs + '/nimble.js',
    pathSourceJs + '/scrollspy.js',
    pathSourceJs + '/jquery.fancybox.pack.js',
    pathSourceJs + '/jquery.appear.js',
    pathSourceJs + '/bootstrap.js',
    pathSourceJs + '/counters.js',
    pathSourceJs + '/slider.js',
    pathSourceJs + '/revolution.js',
    pathSourceJs + '/contact.js',
    pathSourceJs + '/html5shiv.js',
    pathSourceJs + '/respond.min.js'
];

gulp.task('minify-javascript', function () {
    return gulp.src(filesJs, {base: pathSource + '/'})
        .pipe(gulpPlumber(function(error) {
            console.log(error.toString());
            this.emit('end');
        }))
        .pipe(gulpSourceMaps.init())
        .pipe(gulpConcat(outputFileNameJs))
        .pipe(gulpUglify())
        .pipe(gulpSourceMaps.write('.'))
        .pipe(gulp.dest(pathTargetJs));
});
输出文件按以下顺序(错误顺序)缩小,而不是按FILEJS数组中定义的顺序缩小:

"sources":
[
    "js/slider.js",
    "js/contact.js",
    "js/bootstrap.js",
    "js/jquery.js",
    "js/jquery1.7.2.js",
    "js/jquery.themepunch.plugins.min.js",
    "js/jquery.themepunch.revolution.min.js",
    "js/jquery.stellar.js",
    "js/custom.js",
    "js/jquery.jcarousel.min.js",
    "js/waypoints.js",
    "js/jquery.easypiechart.min.js",
    "js/nimble.js",
    "js/scrollspy.js",
    "js/jquery.fancybox.pack.js",
    "js/jquery.appear.js",
    "js/counters.js",
    "js/revolution.js",
    "js/html5shiv.js",
    "js/respond.min.js"
]
海螺是有序的,但不是缩小

我不明白为什么


提前感谢您的帮助

如果您的js文件相互依赖,
gulpUglify
可能会重新安排顺序

请尝试禁用以下功能:

.pipe(gulpUglify({
      compress: {hoist_funs: false}
    }))

如果js文件相互依赖,
gulpUglify
可能会重新安排顺序

请尝试禁用以下功能:

.pipe(gulpUglify({
      compress: {hoist_funs: false}
    }))