禁用指南针/scss 源地图
Posted
技术标签:
【中文标题】禁用指南针/scss 源地图【英文标题】:Disabling compass/scss source maps 【发布时间】:2014-10-17 10:35:50 【问题描述】:我正在使用最新版本的 sass 和 compass 并使用 gulp-compass 进行构建。即使我在 config.rb 文件中设置了 sourcemap=false
并在 gulp-compass 选项中设置了选项 sourcemap:false
,我也得到了 .map
源映射文件。我有时想禁用源映射以加快构建速度。生成源映射时运行 gulp 任务大约需要两倍的时间。有什么建议吗?
config.rb:
http_path = "/"
css_dir = "css"
sass_dir = "sass"
images_dir = "img"
javascripts_dir = "js"
sourcemap = false
output_style = ":compact"
gulp.js:
gulp.task('compass', function()
return gulp.src(['sass/screen.scss', 'sass/screen_fallback.scss']).pipe(compass(
config_file: 'config.rb',
css: 'css',
sass: 'sass',
sourcemap: false
)).on('error', function(err)
notify(
message: err
)
).pipe(notify(
message: 'Compass processed.'
)).pipe(minifycss()).pipe(rename(
suffix: '.min'
)).pipe(gulp.dest('css')).pipe(notify(
message: 'CSS minified.'
));
);
【问题讨论】:
目前有一个关于此主题的已关闭问题:github.com/appleboy/gulp-compass/issues/60 @DomiAlex 看起来没有发布解决方案。谢谢。 我的“解决方案”是在构建文件后运行 rimraf 来删除文件。例如:code
gulp.task('deleteMap', ['compass'], function () return gulp.src(paths.css + '/*.map', read: false) .pipe(rimraf( force: true)); ); code
然后你把这个:code
gulp.task('build', ['compass', 'deleteMap']); code
@DomiAlex 是的,这会删除地图,但最初仍会创建地图 - 这就是指南针过程缓慢的原因。
我从没想过这会减慢指南针的速度。有趣的。你也应该在我提出的问题中发布这个:github.com/appleboy/gulp-compass/issues/70
【参考方案1】:
您可以尝试使用 compass: true
选项运行 gulp-ruby-sass。这是您的任务更改为使用 gulp-ruby-sass:
gulp.task('compass', function()
return gulp.src(['sass/screen.scss', 'sass/screen_fallback.scss']).pipe(rubysass(
'sourcemap=none': true,
compass: true
)).on('error', function(err)
notify(
message: err
)
).pipe(notify(
message: 'Compass processed.'
)).pipe(minifycss()).pipe(rename(
suffix: '.min'
)).pipe(gulp.dest('css')).pipe(notify(
message: 'CSS minified.'
));
);
【讨论】:
这解决了我的问题。 Gulp-ruby-sass 在使用引导程序时会中断,因为它找不到图标字体路径。我必须在 config.rb 中设置 font_dir,然后告诉 gulp-ruby-sass 使用 compass。这解决了我的特定问题。以上是关于禁用指南针/scss 源地图的主要内容,如果未能解决你的问题,请参考以下文章