Gulp 缩小所有 css/js 并移动到具有相同结构的文件夹?

Gulp minify all css/js and move to folder with same structure?

我正在处理这个 chrome 扩展,我是否可以缩小所有 css 和 js 并移动到构建文件夹而不丢失结构?

gulp.task('clean', function() {
    return gulp.src('build/*', {read: false})
        .pipe(clean());
});

gulp.task('copy', function() {
    gulp.src('assets/fonts/**')
        .pipe(gulp.dest('build/fonts'));
    gulp.src('assets/images/**')
        .pipe(gulp.dest('build/images'));
    gulp.src('_locales/**')
        .pipe(gulp.dest('build/_locales'));
    return gulp.src('src/manifest.json')
        .pipe(gulp.dest('build'));
});

gulp.task('html', function() {
    return gulp.src('popup/*.html')
        .pipe(cleanhtml())
        .pipe(gulp.dest('build'));
});

gulp.task('scripts', ['jshint'], function() {
    gulp.src('/**/*.js')
        .pipe(gulp.dest('/**/*.js'));
    return gulp.src(['/**/*.js', '!/**/*.js'])
        .pipe(stripdebug())
        .pipe(uglify({outSourceMap: true}))
        .pipe(gulp.dest('build/**/*'));
});

目前这适用于 css 和其他资产,但我不知道如何使用 js 来实现,因为我将所有内容都整齐地拆分在文件夹和组件中

我现在无法正确检查,但我认为你应该这样做:

  1. 去掉你的 scripts 任务中的前两行,正如我所见,它们什么也没做。

  2. 修复 gulp 中的 Task 方法。它只接受 2 个参数:taskNametaskFunction.

  3. 修复 src。据我了解,您说的是 get all .js files, except all .js files,因此不会通过管道传输任何内容。

  4. gulp.dest 路径应该类似于 build/build/js/.

你能试试这个吗?

gulp.task('scripts', function() {
    return gulp.src(['/**/*.js'])
        .pipe(stripdebug())
        .pipe(uglify({outSourceMap: true}))
        .pipe(gulp.dest('build/js/'));
});