代码之家  ›  专栏  ›  技术社区  ›  vsync

在一气呵成的流中插入文本

  •  1
  • vsync  · 技术社区  · 12 年前

    我想将一个变量硬编码到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 回复  |  直到 12 年前
        1
  •  3
  •   Preview 2pha    12 年前

    您可以使用 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/'));
    });
    
        2
  •  1
  •   Delapouite    12 年前

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

    在您的情况下,将其放在管道中的concat操作之后。