我用gulp构建我的项目到一个名为 all.js 的文件中。 在我的工作区中,我有一个文件,我称之为 modules.js 。在这个文件中,我声明了所有的命名空间。 我想首先在 all.js 的顶部连接这个文件,然后才能将其余的js文件连接起来。这样我就不用担心文件顺序,也没有定义任何命名空间。
以下是我的尝试:
gulp.src("./src/main/modules.js")
.pipe(concat("all.js"))
.pipe(gulp.src(["./src/**/*.js", "!./src/main/modules.js"]))
.pipe(concat("all.js"))
.pipe(gulp.dest(dist));
但是这样, modules.js 就是我在 all.js 中看到的所有内容。其余文件根本没有写。
如何告诉gulp先将 modules.js 写入 all.js ,然后再添加其余的js文件?
谢谢!
答案 0 :(得分:1)
有一种方法可以在gulp中指定连接顺序(使用'order'):
gulp
.src("**/*.coffee")
.pipe(coffee())
.pipe(gulp.src("**/*.js")) // gulp.src passes through input
.pipe(order([
"vendor/js1.js",
"vendor/**/*.js",
"app/coffee1.js",
"app/**/*.js"
]))
.pipe(concat("all.js"))
.pipe(gulp.dest("dist"));
正如npm documentation和this good article中所述。希望这有帮助!
答案 1 :(得分:0)
你的concat之后你不能使用src。首先使用src并首先添加modules.js,然后添加其余脚本以确保其正常工作。
所以gulp.src([path-to-modules.js, path-to-rest])
在那个concat之后,所有和你的modules.js将在最重要的位置。