在vs代码中打开项目时未检测到Gulp任务

我使用gulp任务来缩小css和js文件,但是每次打开gulp时都会遇到此错误。我搜索了任何解决方案,但仍然没有找出问题所在。

  

Gulp任务:命令失败:gulp --tasks-simple --cwd   “ c:\ wamp64 \ www \ gulp_p” --gulpfile“ c:\ wamp64 \ www \ gulp_p \ gulpfile.js”   assert.js:374抛出错误; ^ AssertionError [ERR_ASSERTION]:任务   必须指定功能       在Gulp.set [as _setTask](c:\ wamp64 \ www \ gulp_p \ node_modules \ undertaker \ lib \ set-task.js:10:3​​)       在Gulp.task(c:\ wamp64 \ www \ gulp_p \ node_modules \ undertaker \ lib \ task.js:13:8)       在对象。 (c:\ wamp64 \ www \ gulp_p \ gulpfile.js:64:6)       在Module._compile(internal / modules / cjs / loader.js:956:30)       在Object.Module._extensions..js(内部/模块/cjs/loader.js:973:10)       在Module.load(internal / modules / cjs / loader.js:812:32)       在Function.Module._load(内部/模块/cjs/loader.js:724:14)       在Module.require(internal / modules / cjs / loader.js:849:19)       在要求时(内部/模块/cjs/helpers.js:74:18)       执行时(C:\ Users \ alia \ AppData \ Roaming \ npm \ node_modules \ gulp-cli \ lib \ versioned \ ^ 4.0.0 \ index.js:36:18)   {       generateMessage:否,       代码:“ ERR_ASSERTION”,       实际:错误,       预期:是的,       运算符:'=='}

我的安装

gulp --version => CLI version: 2.2.0  -  Local version: 4.0.2
node --version => v12.13.0
npm --version => 6.12.0
npx --version => 6.12.0

package.json

{
  "name": "gulp_p","version": "1.0.0","main": "gulpfile.js","dependencies": {
    "gulp": "^4.0.2","gulp-clean": "^0.4.0","gulp-clean-css": "^3.10.0","gulp-concat": "^2.6.1","gulp-concat-css": "^3.1.0","gulp-inject": "^4.3.2","gulp-install": "^1.1.0","gulp-minify": "^3.1.0","gulp-minify-css": "^1.2.4","gulp-prompt": "^1.1.0","gulp-requirejs": "^1.2.0","gulp-watch": "^5.0.1"
  },"devDependencies": {},"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },"author": "","license": "ISC","description": ""
}

gulpfiles.js    我在其他计算机上使用它时,它正在工作。因此,gulpfile.js没有错误,它位于项目的根目录

'use strict';

var gulp = require('gulp');

var prompt = require('gulp-prompt');
var log = require('fancy-log');
var concatCss = require('gulp-concat-css');
var minifyCSS = require('gulp-minify-css');
var cleanCSS = require('gulp-clean-css');

var concat = require('gulp-concat');
var minify = require('gulp-minify');
var clean = require('gulp-clean');

var watch = require('gulp-watch');

var theme_input='sunstar';

gulp.task('css',function() {
    var importFrom = require('gulp/themes/'+theme_input+'.js');
    return gulp.src(importFrom.css_arr,{base: '.'})
      .pipe(concatCss(importFrom.destination_css))
      .pipe(minifyCSS({keepSpecialComments: 0}))
      .pipe(gulp.dest('.'));
  });

gulp.task('scripts',function() {
    var importFrom = require('gulp/themes/'+theme_input+'.js');
    return gulp.src(importFrom.js_arr)
      .pipe(concat(importFrom.destination_js))
      .pipe(minify({keepSpecialComments: 0}))
      .pipe(gulp.dest('.'));
  });


gulp.task('choose',function(){
    log('Please enter THEME name,then type of task [js/css].');
    return gulp.src('*')
    .pipe(prompt.prompt([{
        type: 'input',name: 'theme_input',message: 'Please enter THEME name?'
    },{
        type: 'input',name: 'task',message: 'Please enter task Type?'
    }],function(res){
        theme_input = res.theme_input;
        var importFrom = require('gulp/themes/'+theme_input+'.js');
        if(res.task == 'css'){
            gulp.src(importFrom.css_arr,{base: '.'})
            .pipe(concatCss(importFrom.destination_css))
            .pipe(minifyCSS({keepSpecialComments: 0}))
            .pipe(gulp.dest('.'));
        }else if(res.task == 'js'){
            gulp.src(importFrom.js_arr)
            .pipe(concat(importFrom.destination_js))
            .pipe(minify({keepSpecialComments: 0}))
            .pipe(gulp.dest('.'));
        }
    }));
});

gulp.task('default',['choose','css','scripts']);
wang198879meng 回答:在vs代码中打开项目时未检测到Gulp任务

由于您使用的是gulp v4,因此此代码无效:

gulp.task('default',['choose','css','scripts']);

将其更改为:

gulp.task('default',gulp.series('choose','scripts'));

可以在其上运行的另一台计算机必须使用gulp v3。

本文链接:https://www.f2er.com/3160464.html

大家都在问