Я разделил свой gulpfile.js
на несколько файлов в папке /gulp
, чтобы упорядочить код немного лучше. Но теперь я хочу передать переменную debug (boolean)
в файлы, которые будут переключать поведение включенной команды gulp (в конечном итоге я буду использовать аргументы командной строки, но пока я просто хочу заставить ее работать с переменной).Node.js: как передать глобальную переменную в файл, вставленный через require()?
Путь Я получил эту установку, используя метод, который я видел в пакете угловой/глотком YEOMAN, использует модуль НПМ под названием require-dir
(который загружает все * .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', '...']);
Что бы загрузить что-то вроде ...
Глоток/build.js:
var gulp = require('gulp'),
plumber = require('gulp-plumber'),
...;
gulp.task('build', function() {
console.log(debug);
});
Так что, когда я запускаю команду gulp
, который запускает задание default
, он загрузит build.js, а затем выполнит e Задача gulp build
. Но, к сожалению, кажется, что debug
возвращает undefined.
Как я могу заставить это работать?
Я смотрел, используя только module.exports()
и require()
метод узла, но я не мог понять, как получить задание глотка внутри включаемого файла, чтобы объявить, чтобы он мог затем запустить из главного gulpfile.js
файла (в желаемую последовательность).
Может ли кто-нибудь помочь? Спасибо
Итак, теоретически после запуска метода loadGulp() 'задача gulp должна быть зарегистрирована, поэтому я должен буду запускать' gulp.start ('build') ', и он будет доступен ...? – BuildTester1
правильный. операция 'require ('require-dir/gulp') теперь загружает функцию, и теперь выполнение этих функций регистрирует задачу gulp, после чего ее можно вызывать как любую другую. –
Есть ли способ сделать требуемый файл self init при импорте, поэтому мне не нужно вызывать функцию? то есть. 'require ('gulp/build.js');' вместо 'var build = require ('gulp/build.js')'? – BuildTester1