使用gulp-htmlbuild而不将所有文件连接成一个文件

时间:2015-06-20 06:35:53

标签: javascript html build gulp

我想:

  1. 读取htmlbuild中的所有js文件:js block
  2. 将它们分为一系列构建步骤,如uglification,syntax check,....,
  3. 将它们(保留其目录结构)复制到目标文件夹(实际是html构建目标)
  4. 在htmlbuild中添加所有这些内容的链接:js again
  5. default example of the package中的用例与我想要的类似,但它不是将第3步和第4步连接成一个具有预定义名称的单个文件,而是编写一个指向该文件的脚本标记。文件。

1 个答案:

答案 0 :(得分:1)

你在htmlbuild回调函数中收到的block是一个可写的流。无论你写什么,最终都会取代块。在示例的情况下,只有一条路径写入它但没有任何东西阻止你写多个:

// then write the build result path to it 
block.write('path1.js');
block.write('path2.js');
block.write('path3.js');
block.write('path4.js');
block.end();

由于它也是一个可读的流,你可以将它自己管道化或对其应用转换:

// First build the files that are in the block
block
  .pipe(buildSteps)
  .pipe(gulp.dest(targetDir));

// Then rename all the paths and write back to the block
block
  .pipe(renameToDestination)
  .pipe(block);

在此示例中,renameToDestination将是一个转换流,它将路径作为字符串接受并将它们重命名为目标目录。