【问题标题】:Gulp-js task to minify non-minified files and concatenate with minified filesGulp-js 任务来缩小非缩小文件并与缩小文件连接
【发布时间】:2015-01-05 07:04:07
【问题描述】:

如何编写一个 gulp-js 任务,它只缩小非缩小文件并将它们与已经缩小的文件连接起来。

【问题讨论】:

    标签: npm concatenation build-process gulp minify


    【解决方案1】:
    //Minify and transfer non-minified files to a temp folder
    gulp.task('scripts1', function() {
      return gulp.src(['js/*.js', '!js/*.min.js'])
        .pipe(fixmyjs({}))
        .pipe(jshint('.jshintrc'))
        .pipe(jshint.reporter('default'))
        .pipe(rename({suffix: '.min'}))
        .pipe(uglify())
        .pipe(gulp.dest('dist/assets/js/new'))
        //.pipe(notify({ message: 'Scripts1 task complete to minify' }));
    });
    //transfer minified files to the same temp folder
    gulp.task('scripts2',['scripts1'], function() {
      return gulp.src(['js/*.min.js','js/rev-slider/*.min.js'])
        .pipe(gulp.dest('dist/assets/js/new'))
        //.pipe(notify({ message: 'Scripts2 task complete to copy minified files' }));
    });
    //concat all minified files to a new dist folder
    gulp.task('scripts3',['scripts2'], function() {
      return gulp.src('dist/assets/js/new/*.min.js')
        .pipe(order([
                    'dist/assets/js/new/jquery-1.10.2.min.js',
                    'dist/assets/js/new/bootstrap.min.js',
                    'dist/assets/js/new/jquery.appear.min.js',
                    'dist/assets/js/new/jquery.countTo.min.js',
                    'dist/assets/js/new/waypoints.min.js',
                    'dist/assets/js/new/jquery.prettyPhoto.min.js',
                    'dist/assets/js/new/modernizr-latest.min.js',
                    'dist/assets/js/new/SmoothScroll.min.js',
                    'dist/assets/js/new/jquery.parallax-1.1.3.min.js',
                    'dist/assets/js/new/jquery.easing.1.3.min.js',
                    'dist/assets/js/new/jquery.sticky.min.js',
                    'dist/assets/js/new/owl.carousel.min.js',
                    'dist/assets/js/new/jquery.isotope.min.js',
                    'dist/assets/js/new/jquery.themepunch.plugins.min.js',
                    'dist/assets/js/new/jquery.themepunch.revolution.min.js',
                    'dist/assets/js/new/jquery.mb.YTPlayer.min.js',
                    'dist/assets/js/new/jquery.mapmarker.min.js',
                    'dist/assets/js/new/scripts.min.js'
                ], { base: './' }))
        .pipe(concat('scripts.min.js'))
        .pipe(gulp.dest('dist/assets/js'))
        .pipe(notify({ message: 'Scripts3 task complete to concat all minified files' }));
    });
    //delete the temp folder
    gulp.task('cleantempjs',['scripts3'], function(cb) {
        del('dist/assets/js/new', cb)
    });
    //Now run the default task with clean task
    gulp.task('clean', function(cb) {
       del(['dist/assets/css', 'dist/assets/js', 'dist/assets/img'], cb)
    });
    
    gulp.task('default', ['clean'], function() {
       gulp.start('cleantempjs');
    });
    

    【讨论】:

      【解决方案2】:

      gulp-minify 有一个ignoreFiles 选项,因此您可以传递流中的所有文件并使其在应用缩小时进行区分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多