包含在gulp文件中的外部文件

我有一个具有以下结构的gulp文件:

// =============== helper JS stuff =============== var production = false; var folders = { folder1: "./myfolder", folder2: "./myfolder2"... } function Module() { this.jsFiles = ... this.cssFiles = ... } var Modules = [ new Module({ first: module }), new Module({ second: module })...] // =============== Tasks =============== gulp.task('myTask', function(){ //work with modules }); 

我想从(至less)三个文件中分离(gulpfile.js)从其他纯定制的JavaScript事情(在特殊的模块列表中):

 Solution -- gulpFolder ---- consts.js // declare here dirs/folders/other constants ---- module.js // helper 'Module' object declaration ---- listModules.js // a list of 'Module's to work with (to update) -- gulpfile.js // tasks definitions, works with the module list 

是否有可能只是“导入”到gulpfile.js只是像下面描述的简单的JavaScript文件(如consts.jsmodule.js等)?

我试图使用requireDir

 var requireDir = require('require-dir'); ... var dir = requireDir('./website/!gulp'); // ? 

但这段代码似乎并没有真正“导入”jsfiles …据我所知, requirerequireDir只能与nodeJS模块/文件一起工作…

在节点中,每个javascript源文件是一个单独的名称空间。 当你require一个文件时,你只能访问那个文件已经export 。 这意味着您将不得不从每个其他文件export 。 例如:

module.js:

 function Module() { this.jsFiles = ... this.cssFiles = ... } module.exports = Module; // export! 

listModules:

 var Modules = [ new Module({ first: module }), new Module({ second: module })...] module.exports = Modules; // export! 

然后在你的主文件中,你可以像这样访问代码:

 var Module = require("gulpFolder/module.js"); var Modules = require("gulpFolder/moduleList.js"); gulp.task('myTask', function(){ //work with modules });