Проблема с gulp-autoprefixer при использовании gulp - PullRequest
0 голосов
/ 28 сентября 2019

Не могли бы вы посоветовать, как решить ошибку, которую вы можете найти ниже.Все работает, однако, когда я пытаюсь добавить gulp-autoprefixer, у меня появляется эта ошибка с gulp в терминале.Я надеюсь на вашу помощь.

узел -v v6.10.3

npm -v 3.10.10

gulp -v Версия CLI: 2.2.0 Локальная версия: 3.9.1

enter image description here

файл package.json

{
  "name": "igor",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "browser-sync": "^2.14.0",
    "gulp": "^3.9.1",
    "gulp-autoprefixer": "^7.0.0",
    "gulp-concat": "^2.6.0",
    "gulp-rename": "^1.2.2",
    "gulp-ruby-sass": "^2.1.0",
    "gulp-sourcemaps": "^1.6.0",
    "postcss-loader": "^3.0.0"
  }
}

файл gulpfile.js

var gulp = require('gulp');
var concat = require('gulp-concat');
var browserSync = require('browser-sync');
var sass = require('gulp-ruby-sass');
var rename = require('gulp-rename');
var sourcemaps = require('gulp-sourcemaps');
var autoprefixer = require('gulp-autoprefixer');


var Files = {
  html: './index.html',
  css_dest: './css',
  scss: './scss/style.scss',
  js_dest: './js',
  js: './js/app.js'
};

gulp.task('sass', function () {
  return sass(Files.scss, {
      style: 'expanded',
      sourcemap: true
    })
    .on('error', sass.logError)
    .pipe(sourcemaps.write())
    .pipe(autoprefixer({
      browsers: ['last 2 versions'],
      cascade: false
    }))
    .pipe(rename('main.css'))
    .pipe(gulp.dest(Files.css_dest))
    .pipe(browserSync.reload({
      stream: true
    }));
});


gulp.task('js', function () {
  return gulp.src(Files.js)
    .pipe(concat('main.js'))
    .pipe(gulp.dest(Files.js_dest))
    .pipe(browserSync.reload({
      stream: true
    }));
});


gulp.task('default', ['sass', 'js'], function () {
  browserSync.init({
    server: {
      baseDir: "./"
    }
  });

  gulp.watch('./scss/**/*.scss', ['sass']);
  gulp.watch('./js/**/*.js', ['js']);
  gulp.watch(Files.html, browserSync.reload);
});

1 Ответ

1 голос
/ 30 сентября 2019

Используемая версия gulp-autoprefixer требует как минимум Node 8. Вы используете Node 6, который не распознает и не поддерживает некоторые из новых синтаксисов Javascript.Вы можете понизить gulp-autoprefixer до 6.10.0 или, если возможно, обновить до Узла> = 8.

...