指南针行号评论没有显示出来与咕嘟咕嘟(Compass Line Number Comments No

2019-10-23 03:38发布

我试图让从GruntJS开关吞掉,并与通过指南针处理我的SASS文件我咕嘟咕嘟任务遇到了问题。 该文件编译就好进入,因为他们在我的GruntJS实施做了一个CSS文件,但我缺少的行号评论说,给我看的CSS规则来自如:/ * 26行,../_components/sass/ _base.scss * /

从我gulpfile.js任务的代码是:

gulp.task('compass', function() {
   gulp.src(sassSources)
     .pipe(compass({
        comments: true,
        sass: '_components/sass', 
        image: 'builds/dev/images',
        style: 'nested'
   })
   .on('error', gutil.log))
   .pipe(gulp.dest('builds/dev/css'))
});

我缺少的东西吗?

Answer 1:

小心gulp-compass ,它不是一个大口插件(虽然如此命名),并已被咕嘟咕嘟社区相当长的一段列入黑名单。 它没有什么咕嘟咕嘟插件是应该做的(例如,它可以在不运行它们gulp.srcgulp.dest ),和其他插件已经做的工作完全没有问题。 其中一个插件是gulp-ruby-sass 。 这种设置可能会为你工作:

var sass = require('gulp-ruby-sass');
gulp.task('compass', function() {
   return sass(sassSources, {
     compass: true,
     lineNumbers: true
   }).on('error', gutil.log))
   .pipe(gulp.dest('builds/dev/css'))
});

这将使用gulp-ruby-sass是能够与运行compass扩展。 你看,我激活lineNumbers在这里给你说的输出。

我从你的Gulpfile看到,你可能有一些扩展需要一些image S,我不知道究竟是干什么的,但如果它是强制性的,以你的设置,你可以更好地使用呼叫罗盘直接(命令行工具) require('child_process').exec(...)



Answer 2:

您应该添加sass_options = {:line_numbers =>真到你config.rb文件,即使一饮而尽罗盘模块不支持lineNumbers作为一个选项。

config.rb文件的重要组成部分

css_dir = 'app/assets/style/'
sass_dir = 'app/assets/style/sass/'
images_dir = 'app/assets/image/'
javascripts_dir = 'app/assets/script/'
sass_options = { :line_numbers => true }

而你吞掉任务应该是这样的

gulpfile.js文件的重要组成部分

return gulp.src('./app/assets/style/sass/*.scss')
    .pipe(plugins.compass({
      config_file: './config.rb', // if you don't use a config file , you should start using immediately
      css: './app/assets/style/',
      sass: './app/assets/style/sass/',
      image: './app/assets/image/',
      line_comments: true,
      sourcemap: true
    }))
    .pipe(gulp.dest('./app/assets/style/'));


Answer 3:

我有麻烦产生使用一饮而尽罗盘意见也行号。 我尝试了很多事情,包括所有的插件版本匹配我习惯甚至完全放弃我的代码,并使用完整的示例代码样本 ,而不是无济于事。

在其不遵守一饮而尽标准作为@ddprrt建议顶部, 一饮而尽罗盘现在似乎被打破。 除了在目标文件夹生成一个样式表,它也产生另一个{APP_ROOT}/ css文件夹。 我怀疑,后者是某种形式的缓存,但该功能目前正在打破。 可以看到这里 ,如果你删除样式表,并重新运行任务,行号的意见将最终出现。 下面,我通过安装和使用一饮而尽清洁-DEST插件自动此。 我没有尝试使用其他插件,但这个技巧处理这个问题。

var gulp      = require("gulp")
  , compass   = require("gulp-compass")
  , cleanDest = require("gulp-clean-dest")
  ;

gulp.task("compass", function() {
  gulp.src("components/sass/style.scss")
    .pipe(compass(
      {  "sass":  "components/sass"
      ,  "image":  "builds/development/images"
      ,  "style":  "expanded"
      ,  "comments":  true
      })
      .on("error", gutil.log)
    )
    .pipe(gulp.dest("builds/development/css"))
    .pipe(cleanDest("css"))
});


文章来源: Compass Line Number Comments Not Showing Up with Gulp