【发布时间】:2015-01-16 09:59:37
【问题描述】:
我已将gulpfile.js 拆分为/gulp 文件夹中的多个文件,以便更好地组织代码。但现在我想将变量debug (boolean) 传递到将切换包含的 gulp 命令的行为的文件中(最终我将使用命令行参数,但现在我只想让它与变量一起使用)。
我使用我在 yeoman angular/gulp 包中看到的方法进行此设置的方式是使用名为 require-dir 的 npm 模块(它将所有 *.js 文件加载到 /gulp 文件夹中,其中每个都有一组设置的 gulp 任务)。
gulpfile.js:
var gulp = require('gulp'),
run = require('run-sequence'),
debug = true;
require('require-dir')('./gulp');
gulp.task('default', ['build', 'server', 'watch', '...']);
这会加载类似...
gulp/build.js:
var gulp = require('gulp'),
plumber = require('gulp-plumber'),
...;
gulp.task('build', function () {
console.log(debug);
});
所以当我运行命令gulp,它运行default 任务时,它将加载build.js,然后执行build gulp 任务。但不幸的是,debug 似乎返回 undefined。
我怎样才能让它工作?
我正在考虑只使用module.exports() 和节点的require() 方法,但我不知道如何在包含的文件中声明 gulp 任务,以便它可以从主 @ 运行987654334@ 文件(按所需顺序)。
谁能提供一些帮助?谢谢
【问题讨论】:
标签: javascript node.js npm require gulp