bootstrap-sass + gulp:媒体查询表达式必须以'('

时间:2016-05-03 16:21:14

标签: twitter-bootstrap sass gulp gulp-sass

我在这里遇到了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任务

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'));
});

style.scss:

@import 'breakpoint-slicer'

@import 'variables'
@import 'bootstrap'

body {
  padding: 50px
}

所有资产均由Bower在assets文件夹中管理。有什么想法或提示吗?

2 个答案:

答案 0 :(得分:6)

原因可能不多。一个是文件不在你认为与gulpfile相关的位置。我刚刚在本地重新创建了这个问题,除非我有一个正确的includePaths,否则它无效。

不正确:(stylesheet.scss)

enter image description here

当我更正它时,导入的文件没有任何问题:

enter image description here

e.g。

.pipe(sass({
    outputStyle: 'nested',
    includePaths: [
        './bower_components/breakpoint-slicer/stylesheets'
    ]
}))

您确定gulpfile正确读取该路径吗?

如果你是100%正确的url是正确的,那么你需要重新访问你的sass文件 - 你包括部分 - 我注意到你没有分号 - 他们真的需要在最后每次进口。把它们放进去然后你的代码应该没问题

没有分号 - 任务失败

enter image description here

用分号 - 任务建设就好了:

enter image description here

答案 1 :(得分:0)

如果您忘记在@import "xyz";

之后添加 分号 ,也会发生