【问题标题】:gulp default, Task never defined: default, Please check the documentation for proper gulpfile formattinggulp 默认,从未定义任务:默认,请检查文档以了解正确的 gulpfile 格式
【发布时间】:2017-07-11 02:59:33
【问题描述】:

我在一台新机器上检查了我的项目并得到了一个不令人满意的控制台输出。

控制台输出
吞咽默认
使用 gulpfile ...\gulpfile.js
任务从未定义:默认
请检查文档以了解正确的 gulpfile 格式

gulp -v
CLI 版本 1.2.2
本地版本 4.0.0-alpha.2

设置
节点解释器:nodejs-6.9.2\node.exe
Gulp 包:node_modules\gulp-4.0.build

Gulp 文件内容

'use strict';
var gulp = require('gulp');
var del = require('del');
var path = require('path');
var sass = require('gulp-sass');
var ts = require('gulp-typescript');
var gulpPromise = require("gulp-promise");
var gulpPromiseAll = require('gulp-all');
var merge = require('merge-stream');
var through = require('through2');
var runSequence = require('run-sequence');
var async = require("async");
var Rx = require('rx');
var chok = require('chokidar');
var deleteEmpty = require('delete-empty');
var browserSync = require('browser-sync').create();
var webserver = require('gulp-webserver');
var historyApiFallback = require('connect-history-api-fallback');

/* A few functions like this */
var yadda1 = function() {
    return yadda9("yadda", yaddayadda);
};

/* A few tasks like this */
gulp.task('build', function(){
    return gulpPromiseAll(
        yadda1(),
        yadda2(),
        yadda3()
    ).then(
        function() {
            console.log("yadda");
        }, function(err) {
            console.error("yadda:", err);
        }
    );
});

gulp.task('default', gulp.series('build', 'serve', function(done) {
    console.log("Default task that cleans, builds and runs the application [END]");
    done();
}));

我做错了什么?

【问题讨论】:

  • “服务”任务的定义在哪里?我只看到“构建”。您是否尝试在没有“服务”的情况下运行默认任务?

标签: node.js npm gulp


【解决方案1】:

我刚遇到这个问题。

我们都在使用浏览器同步,与浏览器同步相关的任务是我的代码中的问题所在,因此您很有可能遇到同样的问题(也可能在您的其他 gulp 任务中) ,但不能肯定地说,因为您没有共享任务的代码。

问题:

在 gulp 3.x 中,您可以编写如下代码:

gulp.task('watch', () => {
    gulp.watch('./dev/styles/**/*.scss', ['styles'];
    ...
});

你不能在 gulp 4.x 中。

解决办法:

在这些情况下,您必须传递一个函数而不是任务的名称。您可以通过传递 gulp.series() 函数来做到这一点。上面的代码变成:

gulp.task('watch', () => {
    gulp.watch('./dev/styles/**/*.scss', gulp.series('styles'));
    ...
});

尝试在适用的情况下进行此更改。为我工作。

【讨论】:

    猜你喜欢
    • 2021-10-25
    • 2021-07-23
    • 1970-01-01
    • 2021-08-23
    • 2017-05-10
    • 2019-09-20
    • 2016-09-29
    • 2021-07-29
    相关资源
    最近更新 更多