Задание Gulp не обнаруживается при открытии проекта в коде - PullRequest
0 голосов
/ 05 ноября 2019

Я использую задачи 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 throw err;^ AssertionError [ERR_ASSERTION]: Задача должна быть указана в Gulp.set [as_setTask] (c: \ wamp64 \ www \ gulp_p \ node_modules \ предприимчивый \ lib \ set-task.js: 10: 3) в Gulp.task (c: \ wamp64 \ www \ gulp_p \ node_modules \ предпринять \ lib \ task.js: 13: 8) в объекте. (c: \ wamp64 \ www \ gulp_p \ gulpfile.js: 64: 6) в Module._compile (внутренний / modules / cjs / loader.js: 956: 30) в Object.Module._extensions..js (внутренний / modules/cjs/loader.js:973:10) в Module.load (внутренний / modules / cjs / loader.js: 812: 32) в Function.Module._load (внутренний / modules / cjs / loader.js: 724: 14) в Module.require (внутренний / modules / cjs / loader.js: 849: 19) при необходимости (внутренний / modules / 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: false, код: 'ERR_ASSERTION', фактическое: false, ожидаемое: true, оператор: '=='}

моя установка

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']);

1 Ответ

1 голос
/ 07 ноября 2019

Поскольку вы используете gulp v4, этот код не будет работать:

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

Измените его на:

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

другой компьютер, на котором это работает, должен использовать gulp v3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...