首先,这似乎是一个愚蠢/菜鸟的问题,但我更多的是后端开发人员,我并不经常使用 npm 和 node。我刚刚习惯于开始 gulp watch,我已经准备好进行主题/造型了。
所以我刚刚升级到节点版本 10 的 gulp 4。当然我得到了Task never defined: default
错误。所以我正在尝试迁移到 gulp 4 定义任务的方式,但我不能让它与 simple-task-loader 一起工作。当我尝试示例代码时,我发现 gulp 没有定义。这是原始的旧代码 gulpfile.js:
'use strict';
var gulp = require('gulp');
var taskLoader = require('gulp-simple-task-loader');
var plugins = require('gulp-load-plugins')();
var config = require('./config.json');
taskLoader({
taskDirectory: 'bower_components/gulp-tasks/tasks',
plugins: plugins,
config: config
});
这是来自 simple-task-loader 的 default.js 和 watch.js
默认.s:
'use strict';
module.exports = function(gulp, config, plugins) {
return function() {
return gulp.start(config.default_tasks);
};
};
观看.js:
'use strict';
module.exports = function(gulp, config, plugins) {
return function() {
config.production = false;
plugins.livereload.listen();
gulp.start(config.default_tasks);
config.default_tasks.forEach(function(task) {
if (config[task].watch) {
gulp.watch(config[task].watch, [task]);
} else {
gulp.watch(config[task].src, [task]);
}
})
return true;
};
};
当尝试使用新的 default.js 代码时,我得到 gulp 没有定义,即使在主 gulpfile.js 中有一个要求。
示例新的 default.js:
exports.default = gulp.series(parallel(gulp, config, plugins));
gulp.task('default', gulp.series('start'));
将返回 gulp 未定义