我在这里遇到了bootstrap-sass的问题。我试图通过Gulp和我的style.scss
文件中的其他一些scss库来编译bootstrap,但它却抛出了这个错误:
Message:
css/dev/style.scss
Error: media query expression must begin with '('
on line 1 of css/dev/style.scss
>> @import 'breakpoint-slicer'
---------------------------^
Details:
formatted: Error: media query expression must begin with '('
on line 1 of css/dev/style.scss
>> @import 'breakpoint-slicer'
---------------------------^
column: 28
line: 1
file: /home/nano/Sandbox/bolt-seed/theme/own-theme/css/dev/style.scss
status: 1
messageFormatted: css/dev/style.scss
Error: media query expression must begin with '('
on line 1 of css/dev/style.scss
>> @import 'breakpoint-slicer'
---------------------------^
messageOriginal: media query expression must begin with '(' relativePath: css/dev/style.scss
我只是在我的根样式文件夹上创建一个_variables.scss
副本(暂时没有更改),我收到错误。如果我在导入中包含breakpoint-slicer
,则相同。
以下是我的gulp任务和我的style.scss
gulp.task('sass-build', () => {
return gulp.src('./css/dev/*.scss')
.pipe(plumber())
.pipe(sourcemaps.init())
.pipe(sass({
includePaths: [
'./assets/bootstrap-sass/assets',
'./assets/breakpoint-slicer/stylesheets',
],
outputStyle: 'compressed'
}))
.pipe(sourcemaps.write('./css'))
.pipe(gulp.dest('./css'));
});
@import 'breakpoint-slicer'
@import 'variables'
@import 'bootstrap'
body {
padding: 50px
}
所有资产均由Bower在assets
文件夹中管理。有什么想法或提示吗?
答案 0 :(得分:6)
原因可能不多。一个是文件不在你认为与gulpfile相关的位置。我刚刚在本地重新创建了这个问题,除非我有一个正确的includePaths
,否则它无效。
不正确:(stylesheet.scss)
当我更正它时,导入的文件没有任何问题:
e.g。
.pipe(sass({
outputStyle: 'nested',
includePaths: [
'./bower_components/breakpoint-slicer/stylesheets'
]
}))
您确定gulpfile正确读取该路径吗?
如果你是100%正确的url是正确的,那么你需要重新访问你的sass文件 - 你包括部分 - 我注意到你没有分号 - 他们真的需要在最后每次进口。把它们放进去然后你的代码应该没问题
没有分号 - 任务失败
用分号 - 任务建设就好了:
答案 1 :(得分:0)
如果您忘记在@import "xyz";