Итак, у меня есть следующий gulpfile.js
, который в основном выполняется JavaScript в зависимости от того, является ли он файлом или каталогом (объединяет файлы в каталоге в один файл), и запускает некоторые задачи с помощью lazypipe
. * 1003. *
Цель здесь - объединить задачу, необходимую для обработки файлов javascript, с Babel, как я обнаружил в следующих примерах, но я, должно быть, что-то делаю не так.
Пример 1 Пример 2 Пример 3
var paths = {
js: {
input: "src/js/*",
output: "dist/js/",
},
};
var gulp = require("gulp");
var lazypipe = require("lazypipe");
var flatmap = require("gulp-flatmap");
var rename = require("gulp-rename");
var uglify = require("gulp-terser");
var optimizejs = require("gulp-optimize-js");
// Repeated JavaScript tasks
var jsTasks = lazypipe()
.pipe(optimizejs)
.pipe(gulp.dest, paths.js.output)
.pipe(rename, { suffix: ".min" })
.pipe(uglify)
.pipe(optimizejs)
.pipe(gulp.dest, paths.js.output);
// Minify, and concatenate scripts
var buildScripts = function (done) {
gulp.src(paths.js.input).pipe(
flatmap(function (stream, file) {
// If the file is a directory
if (file.isDirectory()) {
// Grab all files and concatenate them
gulp
.src(file.path + "/*.js")
.pipe(concat(file.relative + ".js"))
.pipe(jsTasks());
return stream;
}
// Otherwise, process the file
return stream.pipe(jsTasks());
})
);
};
Я хочу включить следующее в lazypipe с входом и источником, равными file.path
browserify("./src/index.js", { debug: true })
.transform(
babelify.configure({
presets: ["es2015"],
})
)
.bundle()
.pipe(source("bundle.js"))
.pipe(buffer());