代码之家  ›  专栏  ›  技术社区  ›  usr-local-ΕΨΗΕΛΩΝ

捕获并重用glob

  •  0
  • usr-local-ΕΨΗΕΛΩΝ  · 技术社区  · 6 年前

    我是刚开始学编程的。

    • src/主/scss/
      • 附录scss(全球资源)
        • 管理/
          • *.scss文件

    以上是源文件的目录布局。 我有兴趣将modules目录下的每一组scss文件(我可能事先不知道)编译成包含模块本身的目录树

    src/main/scss/modules/admin/*.scss ==> webapp/secure/admin/common/common.css
    src/main/scss/modules/ftt/*.scss==> webapp/secure/ftt/common/common.css
    

    我可以写一个捕捉 src/main/scss/modules/*/*.scss 但是如何 重新使用

    1 回复  |  直到 6 年前
        1
  •  1
  •   Mark    4 年前

    有关通过文件夹数组循环以生成基于文件夹的捆绑包的较长工作代码版本,请参见 Processing arrays within Gulp to create bundles in each directory with ordered files


    我建议你看看全局同步. 在这里搜索 [gulp] glob.sync user:836330 . 那是我。我在这里回答了一些与你类似的问题。具体见 running a gulp task on separate folders

    glob.sync

    伪代码跟随( 未试验过

    const moduleFolders = glob.sync('src/main/scss/modules');
    
    // perhaps your app.scss is supposed to be bundled into each module's css?
    // if so, just add a second source to the gulp.src below
    
    const sassSrc = 'common.scss';  // or your main scss file that does the imports in each module
    
    gulp.task('default', () => {
    
      let stream;
    
      // work on each folder separately
      moduleFolders.forEach(function (module) {
    
        stream = gulp.src( module + sassSrc )
          .pipe(sass())
          //.pipe(concat('style.min.css'))
          //.pipe(autoprefixer())
          //.pipe(cssmin())
          .pipe(gulp.dest( "webapp/secure/" + module + '/common' ));
      });
      return stream;
    });