【问题标题】:bootstrap-sass + gulp: Media query expression must begin with '('bootstrap-sass + gulp:媒体查询表达式必须以“(”开头
【发布时间】:2016-05-03 16:21:14
【问题描述】:

我在使用 bootstrap-sass 时遇到了问题。我正在尝试通过 Gulp 和我的 style.scss 文件中的其他一些 scss 库编译引导程序,但它抛出了这个错误:

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

style.scss:

@import 'breakpoint-slicer'

@import 'variables'
@import 'bootstrap'

body {
  padding: 50px
}

所有资产均由 Bower 在 assets 文件夹中管理。对此有何想法或提示?

【问题讨论】:

    标签: twitter-bootstrap sass gulp gulp-sass


    【解决方案1】:

    可能有几个原因。一是该文件不在您认为与 gulpfile 相关的位置。我刚刚在本地重新创建了该问题,除非我有正确的 includePaths,否则它无法正常工作。

    不正确:(stylesheet.scss)

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

    例如

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

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

    如果您 100% 正确地认为 url 没问题,那么您需要重新访问您的 sass 文件 - 其中包含部分文件 - 我注意到您没有分号 - 最后确实需要它们每次进口。把它们放进去,然后你的代码应该没问题

    没有分号 - 任务失败

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

    【讨论】:

    • 问题是你的第二个提示:分号。我来自手写笔,我的习惯是不要使用分号......所以,谢谢!那是很小的东西,但我看不到。
    【解决方案2】:

    如果您忘记在 @import "xyz"; 之后添加 分号 ;,也会发生这种情况@

    【讨论】:

      猜你喜欢
      • 2023-04-01
      • 2021-02-23
      • 1970-01-01
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-09
      • 1970-01-01
      相关资源
      最近更新 更多