Javascript 喝一杯先喝一杯

Javascript 喝一杯先喝一杯,javascript,node.js,gulp,Javascript,Node.js,Gulp,我使用gulp将我的项目构建到一个名为all.js的文件中。 在我的工作区中,我有一个名为modules.js的文件。在这个文件中,我声明了我的所有名称空间。 我想先吞咽这个文件,在all.js的顶部,然后再吞咽其余的js文件。这样我就不必担心文件顺序,也不必担心任何未定义的名称空间 以下是我尝试过的: gulp.src("./src/main/modules.js") .pipe(concat("all.js")) .pipe(gulp.src(["./src/**/*.js"

我使用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文件


谢谢大家!

有一种方法可以使用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"));

如和中所述。希望这有帮助

您不能在concat之后使用src。首先使用src,首先添加modules.js,然后再添加其他脚本,以确保其正常工作

所以gulp.src[path-to-modules.js,path-to-rest]


在此之后,您的modules.js将位于顶部。

谢谢!!很好用。不过,我想知道它怎么知道不需要对modules.js进行两次concat。。