Gulp任务创建页面特定的js文件,将常见的js文件与页面特定的文件连接起来

时间:2018-09-17 21:49:35

标签: gulp gulp-concat

假设目录结构类似

  • src /
    • 脚本/
      • _common /
        • common.js
      • page1.js
      • page2.js

我想创建连接common + page1和用于common + page2的单独文件的不同文件。

输出看起来像

  • dist /
    • 第1页
      • script.js
    • 第2页
      • script.js

其中script.js是每个页面的特定js串联在一起。

我在sass方面有一些工作来创建文件夹,所以我真正需要做的就是弄清楚如何获取特定于页面的文件并将其拖放到以原始源文件命名的文件夹中

return gulp.src(paths.styles.src)
    .pipe(sass().on('error', sass.logError))
    .pipe(postcss(processors))
     .pipe(rename(function(file) {
        file.dirname = file.basename;
        file.basename = 'style';
        file.extname = '.css';
    }))
    .pipe(gulp.dest(paths.styles.dest));

1 个答案:

答案 0 :(得分:0)

尝试使用js:

const gulp = require("gulp");
const glob = require("glob");
const addSource = require("gulp-add-src");
const concat = require("gulp-concat");
const path = require("path");

// get an array of files
const files = glob.sync("./src/scripts/*.js");

gulp.task('default', function () {

  files.forEach(function (file) {

    return gulp.src(file)

          // append or prepend here (prepend to put common.js first)
      .pipe(addSource.prepend('./src/scripts/_common/common.js'))

      .pipe(concat("script.js"))

      .pipe(gulp.dest("dist/" +  path.basename(file, '.js')));
  });
});