Файл ошибки Gulp не найден с единственным глобусом

#javascript #css #node.js #sass #gulp

#язык JavaScript #CSS #node.js #нахальство #глоток

Вопрос:

После изменения глотка с 3 на 4 я получаю сообщение об ошибке при попытке запуска gulp build :

 Error: File not found with singular glob: /assets/css/argon.css (if this was purposeful, use `allowEmpty` option)  

Код работал раньше с gulp 3 (как мне сказали), и я внес несколько изменений, чтобы иметь возможность работать и с gulp 4. Ошибка появляется после того, как все задачи были выполнены правильно. введите описание изображения здесь

Файл находится там, где он его ищет:

введите описание изображения здесь

И вот мой gulpfile.js:

 var autoprefixer = require('gulp-autoprefixer'); var browserSync = require('browser-sync').create(); var csscomb = require('gulp-csscomb'); var cleanCss = require('gulp-clean-css'); var cssnano = require('gulp-cssnano'); var composer = require('gulp-uglify/composer'); var concat = require('gulp-concat'); var del = require('del'); var imagemin = require('gulp-imagemin'); var htmlPrettify = require('gulp-html-prettify'); var gulp = require('gulp'); var gulpIf = require('gulp-if'); var gulpRun = require('gulp-run'); var gulpUtil = require('gulp-util'); var npmDist = require('gulp-npm-dist'); var postcss = require('gulp-postcss'); var runSequence = require('gulp4-run-sequence'); // var sass = require('gulp-sass'); var uglifyEs = require('uglify-es'); var uglify = composer(uglifyEs, console); var rename = require('gulp-rename'); var useref = require('gulp-useref-plus'); var wait = require('gulp-wait'); var sass = require('gulp-sass')(require('sass'));   // Define paths  var paths = {  dist: {  base: 'dist',  img: 'dist/assets/img',  libs: 'dist/assets/vendor'  },  base: {  base: './',  node: 'node_modules'  },  src: {  base: './',  css: 'assets/css',  html: '**/*.html',  img: 'assets/img/**/*. (png|jpg|gif|svg)',  js: 'assets/js/**/*.js',  scss: 'assets/scss/**/*.scss'  } }  // Compile SCSS  gulp.task('scss', async function() { return gulp.src(paths.src.scss)  .pipe(wait(500))  .pipe(sass().on('error', sass.logError))  .pipe(postcss([require('postcss-flexbugs-fixes')]))  .pipe(autoprefixer({  browsers: ['gt; 1%']  }))  .pipe(csscomb())  .pipe(gulp.dest(paths.src.css))  .pipe(browserSync.reload({  stream: true  })); });  // Minify CSS  gulp.task('minify:css', async function() { return gulp.src([  paths.src.css   '/argon.css'  ])  .pipe(cleanCss())  .pipe(rename({ suffix: '.min' }))  .pipe(gulp.dest(paths.dist.base   '/css')) });  // Concat JS files  gulp.task('concat:js', async function(done) {   files = [  paths.src.base   '/assets/js/components/license.js',  paths.src.base   '/assets/js/components/layout.js',  paths.src.base   '/assets/js/components/init/*js',  paths.src.base   '/assets/js/components/custom/*js',  paths.src.base   '/assets/js/components/maps/*js',  paths.src.base   '/assets/js/components/charts/*js',  paths.src.base   '/assets/js/components/vendor/*js'  ];   return gulp  .src(files)  .pipe(concat("argon.js"))  .pipe(gulp.dest(paths.dist.base   '/js'));   done(); });  // Minify JS  gulp.task('minify:js', async function(cb) {  return gulp.src([  paths.dist.base   '/js/argon.js'  ])  .pipe(uglify())  .pipe(rename({ suffix: '.min' }))  .pipe(gulp.dest(paths.dist.base   '/js')) });  // Live reload  gulp.task('browserSync', async function() {  browserSync.init({  server: {  baseDir: [paths.src.base, paths.base.base]  },  }) });  // Watch for changes  gulp.task('watch', gulp.series('browserSync', 'scss', async function() {  gulp.watch(paths.src.scss, ['scss']);  gulp.watch(paths.src.js, browserSync.reload);  gulp.watch(paths.src.html, browserSync.reload); }));  // Clean  gulp.task('clean:dist', async function() {  return del.sync(paths.dist.base); });  // Copy CSS  gulp.task('copy:css', async function() {  return gulp.src([  paths.src.base   '/assets/css/argon.css'  ])  .pipe(gulp.dest(paths.dist.base   '/css')) });  // Copy JS  gulp.task('copy:js', async function() {  return gulp.src([  paths.src.base   '/assets/js/argon.js'  ])  .pipe(gulp.dest(paths.dist.base   '/js')) });  // Build  gulp.task('build', async function(callback) {  runSequence('clean:dist', 'scss', 'copy:css', 'copy:js', 'concat:js', 'minify:js', 'minify:css',  callback); });  // Default  gulp.task('default', async function(callback) {  runSequence(['scss', 'browserSync', 'watch'],  callback  ) });   

Любая помощь будет признательна 🙂

Ответ №1:

В copy:css тебе есть эта строчка:

paths.src.base '/assets/css/argon.css'

где, по-видимому, находится ваша ошибка. Проблема в том, что ваш paths.src.base определяется как

base: './' к которому вы добавляете /assets/css/argon.css , чтобы в итоге получить

.//assets/css/argon.css обратите внимание на две ведущие косые черты.

Избавьтесь от главной обратной косой черты в /assets/... и проверьте остальную часть своего кода на наличие той же проблемы.


Также, поскольку вы используете gulp4, избавьтесь от runSequence — посмотрите документацию gulp.series .