Gulp libsass/autoprefixer 错误关于 sass 文件中的注释

Ste*_*eve 0 sass gulp gulp-sass autoprefixer gulp-autoprefixer

我正在从 gulp-ruby-sass 切换到 gulp-sass。Gulp ruby​​ sass 运行没有错误,但为了让我们的 Windows 开发人员的生活更轻松,我试图消除对 Ruby 的依赖。

我在设置我的 gulp 文件时安装了这些软件包,如下所示:

    var sassFiles = './app/assets/sass/**/*.{scss,sass}';
    var cssFiles = './app/assets/css';
    var sassOptions = {
      errLogToConsole: true,
      outputStyle: 'compact'
    };
    var autoprefixerOptions = {
      browsers: ['last 2 versions']
    };


  gulp.task('sass', function () {
     return gulp
    .src(sassFiles)
    .pipe(sourcemaps.init())
    .pipe(autoprefixer(autoprefixerOptions))
    .pipe(sass(sassOptions).on('error', sass.logError))
    .pipe(sourcemaps.write())
    .pipe(gulp.dest(cssFiles))
    .pipe(browserSync.stream());
});
Run Code Online (Sandbox Code Playgroud)

除了每次都失败在我的文件中的评论:

[08:20:39] Starting 'sass'...

events.js:154
  throw er; // Unhandled 'error' event
  ^
 CssSyntaxError: /Users/stevelombardi/github/designsystem-  3/app/assets/sass/design_system.scss:1:1: Unknown word
 ////
 ^
/// This is a poster comment.
Run Code Online (Sandbox Code Playgroud)

它映射到 scss 文件中的注释。请注意,即使我删除了这个块,sass 也会在下一条评论中出现错误。

如果我注释掉 autoprefixer 管道,它就可以工作。那么这里有什么问题呢?

FWIW,我遵循了这个网站的指导方针。

Sve*_*ung 5

//CSS中没有 Javascript 风格的单行注释,只有多行/* */注释//SASS/SCSS 支持单行注释,但从生成的 CSS 中剥离

由于autoprefixer仅在 CSS 上运行而不是 SASS/SCSS,因此您需要在sass()之前运行autoprefixer()

.pipe(sass(sassOptions).on('error', sass.logError))
.pipe(autoprefixer(autoprefixerOptions))
Run Code Online (Sandbox Code Playgroud)