Compass 在压缩 SCSS 个文件时去掉分号,导致 CSS 导入问题
Compass removes semicolon when compressing SCSS files, causing issue of CSS importing
这是我第一次尝试 Compass,遇到了关于 Compass 如何压缩 SCSS 文件的问题。
我有一个简单的 .scss
文件,其中包含以下代码:
@import url('//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css');
.fa-apple, .fa-android, .fa-twitter {
font-size: 60px;
}
我设置了一个 Gulp
任务来编译文件,这里是任务:
gulp.task('compass', function() {
gulp.src('app/scss/style.scss')
.pipe(compass({
config_file: './config.rb',
css: 'app/css',
sass: 'app/scss',
require: ['susy', 'breakpoint']
}))
.pipe(gulp.dest('app/css'));
});
这是我的 config.rb
:
require 'susy'
require 'breakpoint'
project_type = :stand_alone
http_path = "/"
sass_dir = "app/scss"
css_dir = "app/css"
images_dir = "app/images"
fonts_dir = "app/fonts"
javascript_dir = "app/js"
line_comments = true
preferred_syntax = :scss
output_style = :compressed
relative_assets = true
所以我将 output_style
设置为 :compressed
以缩小 CSS
结果。这是我在结果 css
文件中得到的:
@import url("//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css").fa-apple,.fa-android,.fa-twitter{font-size:60px}
Compass
删除了 @import
语句的结尾分号,这会导致页面出现意外的样式。
当我将 output_style
更改为 :expanded
时,页面在未缩小的 css
版本上运行良好,因为保留了分号。
有没有办法避免 Compass
删除分号?还有为什么会发生?
罗盘不应该将导入文件的代码呈现为 css 吗?
sass 的最新版本(3.4.17 或 3.4.18)似乎正在执行此操作。
试试这个:
gem uninstall sass
gem install sass -v 3.4.16
它对我有用。如果您想尝试其他版本,可以在这里找到 all versions of sass。
听起来像是 fixed in 3.4.18。
这是我第一次尝试 Compass,遇到了关于 Compass 如何压缩 SCSS 文件的问题。
我有一个简单的 .scss
文件,其中包含以下代码:
@import url('//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css');
.fa-apple, .fa-android, .fa-twitter {
font-size: 60px;
}
我设置了一个 Gulp
任务来编译文件,这里是任务:
gulp.task('compass', function() {
gulp.src('app/scss/style.scss')
.pipe(compass({
config_file: './config.rb',
css: 'app/css',
sass: 'app/scss',
require: ['susy', 'breakpoint']
}))
.pipe(gulp.dest('app/css'));
});
这是我的 config.rb
:
require 'susy'
require 'breakpoint'
project_type = :stand_alone
http_path = "/"
sass_dir = "app/scss"
css_dir = "app/css"
images_dir = "app/images"
fonts_dir = "app/fonts"
javascript_dir = "app/js"
line_comments = true
preferred_syntax = :scss
output_style = :compressed
relative_assets = true
所以我将 output_style
设置为 :compressed
以缩小 CSS
结果。这是我在结果 css
文件中得到的:
@import url("//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css").fa-apple,.fa-android,.fa-twitter{font-size:60px}
Compass
删除了 @import
语句的结尾分号,这会导致页面出现意外的样式。
当我将 output_style
更改为 :expanded
时,页面在未缩小的 css
版本上运行良好,因为保留了分号。
有没有办法避免 Compass
删除分号?还有为什么会发生?
罗盘不应该将导入文件的代码呈现为 css 吗?
sass 的最新版本(3.4.17 或 3.4.18)似乎正在执行此操作。
试试这个:
gem uninstall sass
gem install sass -v 3.4.16
它对我有用。如果您想尝试其他版本,可以在这里找到 all versions of sass。
听起来像是 fixed in 3.4.18。