有gulp文件
gulpfile.js
const gulp = require('gulp');
const {path} = require('./gulp/config/path.js');
const {plugins} = require('./gulp/config/plugins.js');
/*
import gulp from "gulp";
import {path} from "./gulp/config/path.js";
import {plugins} from "./gulp/config/plugins.js";
*/
global.app = {
isBuild: process.argv.includes('--build'),
isDev: !process.argv.includes('--build'),
path: path,
gulp: gulp,
plugins: plugins
}
// Имрорт задач
const copy = require("./gulp/tasks/copy.js");
const reset = require("./gulp/tasks/reset.js");
const html = require("./gulp/tasks/html.js");
const server = require("./gulp/tasks/server.js");
const scss = require("./gulp/tasks/scss.js");
const js = require("./gulp/tasks/js.js");
const images = require("./gulp/tasks/images.js");
const {otfToTtf, ttfToWoff, fontsStyle} = require("./gulp/tasks/fonts.js");
const svgSprive = require("./gulp/tasks/svgSprive.js");
const zip = require("./gulp/tasks/zip.js");
const ftp = require("./gulp/tasks/ftp.js");
/*
import {copy} from "./gulp/tasks/copy.js";
import {reset} from "./gulp/tasks/reset.js";
import {html} from "./gulp/tasks/html.js";
import {server} from "./gulp/tasks/server.js";
import {scss} from "./gulp/tasks/scss.js";
import {js} from "./gulp/tasks/js.js";
import {images} from "./gulp/tasks/images.js";
import {otfToTtf, ttfToWoff, fontsStyle} from "./gulp/tasks/fonts.js";
import {svgSprive} from "./gulp/tasks/svgSprive.js";
import {zip} from "./gulp/tasks/zip.js";
import {ftp} from "./gulp/tasks/ftp.js";
*/
function watcher() {
gulp.watch(path.watch.files, copy);
gulp.watch(path.watch.html, html);
gulp.watch(path.watch.scss, scss);
gulp.watch(path.watch.js, js);
gulp.watch(path.watch.images, images);
}
// export {svgSprive}
const fonts = gulp.series(otfToTtf, ttfToWoff, fontsStyle);
const mainTasks = gulp.series(fonts, gulp.parallel(copy, html, scss, js, images));
const dev = gulp.series(reset, mainTasks, gulp.parallel(watcher, server));
const build = gulp.series(reset, mainTasks, svgSprive);
const deployZIP = gulp.series(reset, mainTasks, zip);
const deployFTP = gulp.series(reset, mainTasks, ftp);
/*
export {dev}
export {build}
export {deployZIP}
export {deployFTP}
*/
module.exports = { svgSprive, dev, build, deployZIP, deployFTP};
gulp.task('default', dev);
reset.js
/*import {
deleteAsync
} from "del"*/
const del = require('del');
const reset = () => {
async () => {
const deletedPaths = await del(app.path.clean);
// console.log('Deleted files and directories:\n', deletedPaths.join('\n'));
}
// deleteAsync(app.path.clean)
}
module.exports = reset;
运行gulp命令后,会弹出两条红色消息:下列任务未完成。你忘了发送异步完成信号了吗?.
https://i.stack.imgur.com/Er6SA.png
请告诉我如何修改这些留言。
在Google上搜索并找到The following tasks did not complete. Did you forget to signal async completion?,但我使用的语法略有不同。我尝试使用gulp.task('default', dev);
代替gulp.task('default', async dev);
,但它用红色下划线**async dev
**。
我正在尝试运行gulp而没有错误,我正在等待帮助使用语法来解决问题。
1条答案
按热度按时间3npbholx1#
阅读gulp任务异步完成:https://gulpjs.com/docs/en/getting-started/async-completion/
我的偏好是使用
async
,并以gulp的形式承诺所有内容-任务,流等。乍一看,你的
watcher
没有报告任何异步完成:你应该使用callback或者返回一个promise:
或
或
确保你的所有其他任务都遵循相同的逻辑。
关于
reset()
你在body中定义了一个async函数,它什么也不做,我猜你的reset()
可能看起来像这样: