我有一个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
});
我想在(至少)三个文件中分离(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.js
,module.js
等)?
我尝试使用requireDir
var requireDir = require('require-dir');
...
var dir = requireDir('./website/!gulp'); // ?
但是这段代码似乎并没有真正导入" jsfiles ......据我了解, require
和 requireDir
仅适用于nodeJS模块/文件......
答案 0 :(得分:1)
在节点中,每个javascript源文件都是一个单独的命名空间。当您require
文件时,您只能访问该文件export
- ed。这意味着您必须从其他每个文件中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
});