Javascript 用gulp创建.js、.min.js和.js.map文件?

Javascript 用gulp创建.js、.min.js和.js.map文件?,javascript,gulp,gulp-watch,gulp-uglify,Javascript,Gulp,Gulp Watch,Gulp Uglify,我正试图利用Gulp3.9来缩小我的资源文件 我在gulpfile中创建了两个不同的任务,如下所示 var gulp = require("gulp"), concat = require("gulp-concat"), cssmin = require("gulp-cssmin"), filter = require('gulp-filter'), sourcemaps = require('gulp-sourcemaps'), rename = require('gulp-rename'),

我正试图利用Gulp3.9来缩小我的资源文件

我在gulpfile中创建了两个不同的任务,如下所示

var gulp = require("gulp"),
concat = require("gulp-concat"),
cssmin = require("gulp-cssmin"),
filter = require('gulp-filter'),
sourcemaps = require('gulp-sourcemaps'),
rename = require('gulp-rename'),
uglify = require('gulp-uglify-es').default,
merge = require("merge-stream"),
del = require("del"),
bundleconfig = require("./bundleconfig.json");

gulp.task("min:js", function () {
    var tasks = getBundles(regex.js).map(function (bundle) {

        return gulp.src(bundle.inputFiles, { base: ".", sourcemaps: true })
            .pipe(filter('**/*.js'))
            .pipe(concat(bundle.outputFileName))
            .pipe(sourcemaps.write('../maps')) // shouldn't this create file.js.map file?
            .pipe(gulp.dest("."))
            .pipe(uglify())
            .pipe(rename({ suffix: '.min' }))
            .pipe(sourcemaps.write('../maps')) // shouldn't this create file.min.js.map file?
            .pipe(gulp.dest("."));
    });

    return merge(tasks);
});

gulp.task("min:css", function () {
    var tasks = getBundles(regex.css).map(function (bundle) {
        return gulp.src(bundle.inputFiles, { base: ".", sourcemaps: true })
            .pipe(filter('**/*.css'))
            .pipe(concat(bundle.outputFileName))
            .pipe(sourcemaps.write('../maps'))
            .pipe(gulp.dest("."))
            .pipe(cssmin())
            .pipe(rename({ suffix: '.min' }))
            .pipe(sourcemaps.write('../maps'))
            .pipe(gulp.dest("."));
    });
    return merge(tasks);
});
但是,上面的代码似乎只生成.min和常规(非缩小)文件,而不是源映射文件


如何在每次执行“min:js”和“min:css”任务时使用Gulp生成3个js、css和sourcemap文件?

根据您应该初始化sourcemap的文档:

.pipe(sourcemaps.init())
在生成缩小js的情况下:

gulp.src(bundle.inputFiles, { base: ".", sourcemaps: true })
            .pipe(filter('**/*.js'))
            .pipe(sourcemaps.init())
            .pipe(concat(bundle.outputFileName))
            .pipe(sourcemaps.write('../maps'))  
            .pipe(uglify())
            .pipe(rename({ suffix: '.min' }))
            .pipe(gulp.dest(".")) ;

并相应地更改css缩小

只要停止大口大口喝,拥抱Webpack。不难学。总有一天试试吧。