Npm 从Gulp中的目录获取一个没有扩展名的文件名数组?

Npm 从Gulp中的目录获取一个没有扩展名的文件名数组?,npm,gulp,Npm,Gulp,我想使用Gulp和/或NPM将2个目录helpers/和dialogs/中的每个文件名放入一个数组中,而不使用文件扩展名。请注意,数组将预先填充值-我需要将文件名附加到此数组 换句话说,我的目录结构如下: helpers/ a.js b.js c.js dialogs/ x.js y.js z.js 我有这个: var modules = ['main-module']; 我需要根据目录像这样填充我的数组: var modules = ['ma

我想使用Gulp和/或NPM将2个目录helpers/和dialogs/中的每个文件名放入一个数组中,而不使用文件扩展名。请注意,数组将预先填充值-我需要将文件名附加到此数组

换句话说,我的目录结构如下:

helpers/
    a.js
    b.js
    c.js
dialogs/
    x.js
    y.js
    z.js
我有这个:

var modules = ['main-module'];
我需要根据目录像这样填充我的数组:

var modules = ['main-module', 'a', 'b', 'c', 'x', 'y', 'z'];
我该怎么做

我已经尝试过使用fs模块,但是如果可能的话,在单个流操作中完成这项任务会很好

将每个目录放入自己的数组中进行其他操作也很有用——换句话说,根据目录输出一个组合数组和2个单独的数组,总共3个数组

var modules = ['main-module', 'a', 'b', 'c', 'x', 'y', 'z'];
var helpers = ['a', 'b', 'c'];
var dialogs = ['x', 'y', 'z'];
你可以很容易地做到这一点,这里有一个代码做你想做的

var glob = require('glob');
var path = require('path');

var modules = ['main-module'];
var helpers = [];
var dialogs = [];

glob.sync("@(helpers|dialogs)/*.js")
.forEach(function(file) {
  var module = path.basename(file, path.extname(file))
  modules.push(module);

  switch(path.dirname(file)) {
    case 'helpers':
      helpers.push(module);
      break;
    case 'dialogs':
      dialogs.push(module);
      break;
  }
});
你可以很容易地做到这一点,这里有一个代码做你想做的

var glob = require('glob');
var path = require('path');

var modules = ['main-module'];
var helpers = [];
var dialogs = [];

glob.sync("@(helpers|dialogs)/*.js")
.forEach(function(file) {
  var module = path.basename(file, path.extname(file))
  modules.push(module);

  switch(path.dirname(file)) {
    case 'helpers':
      helpers.push(module);
      break;
    case 'dialogs':
      dialogs.push(module);
      break;
  }
});