Search code examples
javascriptnode.jsgulpuglifyjsgulp-concat

What is wrong with this code that combines multiple js files to one?


I have this node.js code that tries to minify and combine multiple js files to a single js file.

var concat = require('gulp-concat');
var gulp = require('gulp');

gulp.task('scripts', function() {
    //gulp.src(['./lib/file3.js', './lib/file1.js', './lib/file2.js'])
    gulp.src(['./js/*.js'])
        .pipe(concat('all.js'))
        .pipe(uglify())
        .pipe(gulp.dest('./dist/'))
});

All my js files are located in js folder. My node.js file is above the js folder. I am expecting the single minified file to appear in dist folder. I see nothing and get no error message when I run the code. What could have gone wrong?


Solution

  • Gulpfile.js:

    "use strict";
    
    var concat = require('gulp-concat');
    var gulp = require('gulp');
    var uglify = require('gulp-uglify'); // Add gulp-uglify module to your script
    
    gulp.task('scripts', function() {
        gulp.src('./js/*.js')
            .pipe(concat('all.js'))
            .pipe(uglify())
            .pipe(gulp.dest('./dist/'));
    });
    

    Check package.json dependencies

    Run npm install to verify that all dependencies correctly loaded. I think this was your issue:

    {
        "dependencies": {
            "gulp-concat": "2.x",
            "gulp": "3.x",
            "gulp-uglify": "1.x"
        }
    }