在gulp流中插入文本

时间:2014-08-10 14:31:53

标签: javascript gulp

我想将变量硬编码到GULP任务中(出于开发目的而不是生产),我需要这样的东西:

gulp.task('buildJS', function() {
    gulp.insert('var DEV = true;')  // inserting the text somehow
        .src([
            './js/a.js',
            './js/b.js',
            './js/c.js'
        ])
        .pipe(concat('main.min.js'))
        .pipe(gulp.dest('./js/'));
});

我试图谷歌它,但我得到了一堆不好的结果,也不确定这里到底要找什么,但只能在这里描述。

正如您在第一行中所看到的,我想插入一些变量之前所有其他事情(在这个特定情况下,然后其余的应该包含文件,最后它们会被连接成一个文件,但我不知道该怎么做...感谢您对此有任何帮助!

2 个答案:

答案 0 :(得分:3)

您可以使用 gulp-header 插件,该插件允许在文件的开头附加文本,并支持模板。

您可以执行以下操作:

var header = require('gulp-header');

gulp.task('buildJS', function() {
  gulp.src([
      './js/a.js',
      './js/b.js',
      './js/c.js'
    ])
    .pipe(header('var DEV = true;'))
    .pipe(concat('main.min.js'))
    .pipe(gulp.dest('./js/'));
});

或者,如果您只想将其附加到连接文件

gulp.task('buildJS', function() {
  gulp.src([
      './js/a.js',
      './js/b.js',
      './js/c.js'
    ])
    .pipe(concat('main.min.js'))
    .pipe(header('var DEV = true;'))
    .pipe(gulp.dest('./js/'));
});

答案 1 :(得分:1)

您可能想要使用gulp-header:https://www.npmjs.org/package/gulp-header

在你的情况下,把它放在管道中的concat操作之后。