Javascript 是否正确创建(…in…)的吞咽任务?
我做错了什么 gulpfile.js "严格使用",; //模块和插件 var gulp=需要“gulp”; 常量图像=需要“吞咽图像”; var$=需要“gulp-load-plugins”; 让目录=[ “2006/Art1”, “2006/Art2”, “2010/Art1” ]; 函数gulpTaskdirectoryName{ gulp.task'blogmotionAllMedia',函数{ 回灌 .src'src/content/'+directoryName+'/media/*.{jpg,jpeg,png,gif}' .pipe$.responsive{ “*.jpg”:[ {宽度:400,重命名:{后缀:'-4'}}, {重命名:{后缀:'-6'}} ], } .pipeimage{ JPEG重新压缩:正确 } .pipegulp.dest'dist/content/'+目录名+'/media' }; } var目录; 对于目录中的目录{ 古尔普塔克目录; } 运行任务 npx gulp gulpTask 意料之外 我收到以下错误消息: 任务从未定义:gulpTaskJavascript 是否正确创建(…in…)的吞咽任务?,javascript,gulp,gulp-load-plugins,Javascript,Gulp,Gulp Load Plugins,我做错了什么 gulpfile.js "严格使用",; //模块和插件 var gulp=需要“gulp”; 常量图像=需要“吞咽图像”; var$=需要“gulp-load-plugins”; 让目录=[ “2006/Art1”, “2006/Art2”, “2010/Art1” ]; 函数gulpTaskdirectoryName{ gulp.task'blogmotionAllMedia',函数{ 回灌 .src'src/content/'+directoryName+'/media/*.
我仍然依恋着我的想法,从首先,gulp任务应该注册为您想要调用它的名称gulp。任务'blogmotionAllMedia'。。。应该是大口喝,任务是“大口喝”。。。。 此外,我认为您应该迭代任务中的目录 此外,我认为您需要使用by const merge=require'merge-stream'合并结果流,并返回mergedirectories.mapsingleDirectoryGulpTask 结果应该如下所示: 免责声明:好几年没吃东西了。还是希望有帮助
'use strict';
// Modules & Plugins
var gulp = require('gulp');
const image = require('gulp-image');
var $ = require('gulp-load-plugins')();
const merge = require('merge-stream')
let directories = [
'2006/Art1',
'2006/Art2',
'2010/Art1'
];
gulp.task('gulpTask', function () {
function singleDirectoryGulpTask(directoryName) {
return gulp
.src('src/content/' + directoryName + '/media/*.{jpg,jpeg,png,gif}')
.pipe($.responsive({
'*.jpg': [
{ width: 400, rename: { suffix: '-4' } },
{ rename: { suffix: '-6' } }
],
}))
.pipe(image({
jpegRecompress: true
}))
.pipe(gulp.dest('dist/content/' + directoryName + '/media'));
}
return merge(directories.map(singleDirectoryGulpTask));
});
更改:
for (directory in directories) {
gulpTask(directory);
}
致:
谢谢,我试过了,收到了这样一条消息:以下任务没有完成:gulpTask您忘记发出异步完成信号了吗?这意味着什么?根据这一点,您需要使用合并流来收集多个吞咽呼叫的结果流。danke für Deine Hilfe!列比·格鲁·奥斯·维恩!{谢谢你的帮助!来自维也纳的问候!}不幸的是,这不起作用。仅拍摄第一个目录中的第一张图片
for (directory of directories) {
gulpTask(directory);
}