Javascript 在Gulp.js 4函数中为多个文件名创建for循环

Javascript 在Gulp.js 4函数中为多个文件名创建for循环,javascript,svg,gulp,gulp-4,svg-sprite,Javascript,Svg,Gulp,Gulp 4,Svg Sprite,我目前正试图在每页使用一个svg精灵,这样它就只为每个单独的页面加载必要的svg。当前正在工作,但我想创建一个数组,以便为我想要的N个页面调用任务get 我目前在gulpfile.js(第4版)中有此结构: 其思想是使用页面名称创建一个数组,并执行for循环: var pages = ['page1', 'page2',...]; function svgs(){ for (var i = 0; i < pages.length; i++) {

我目前正试图在每页使用一个svg精灵,这样它就只为每个单独的页面加载必要的svg。当前正在工作,但我想创建一个数组,以便为我想要的N个页面调用任务get

我目前在gulpfile.js(第4版)中有此结构:

其思想是使用页面名称创建一个数组,并执行for循环:

    var pages = ['page1', 'page2',...];

    function svgs(){
        for (var i = 0; i < pages.length; i++) {

            return gulp
                 .src('app/images/src/' + pages[i] + '/*').........
    }
var-pages=['page1','page2',…];
函数svgs(){
对于(变量i=0;i
然后在控制台中只调用任务,但返回只对一次迭代执行,以前有人这样做过吗

谢谢!

尝试返回数组:

const glob = require('glob');

const pageArray = glob.sync('path/to/your/*.pages');

function svgs(done)  {

  pageArray.forEach( page => {
    return gulp.src(page)
      ...
  };
  done();
}

问题是它只经过一次循环,可能是因为返回?不,
返回
不是问题-你需要它。打印出
页面数组
-它有你想要的吗?它捕获了你所有的
页面
?它是一个全局文件,你可以根据需要修改它,我不知道你的文件结构我对代码做了一个小的编辑。我使用了一个带有console.log的常规for循环,它只打印数组的第一个位置,因此它不会对rest进行迭代。它确实可以处理const和forEach,但是为什么呢?现在我得到另一个错误:[20:28:55]以下任务没有完成:svgs[20:28:55]你忘了发出异步完成信号了吗?我编辑了代码添加了
done
调用,它将修复
async
投诉。我认为返回每个流没有必要,但显然是这样。
const glob = require('glob');

const pageArray = glob.sync('path/to/your/*.pages');

function svgs(done)  {

  pageArray.forEach( page => {
    return gulp.src(page)
      ...
  };
  done();
}