0

我正在努力从 grunt-contrib-compass 转移到 grunt-sass。不过,我看到 libsass 编译器在 main.scss 文件中的某些导入上失败了。

这是 main.scss

@import "breakpoint";
@import "compass/css3";
@import "compass/css3/user-interface";
@import "compass/css3/transform";
@import "compass/utilities/general/clearfix";

这是运行 sass 任务时抛出的错误:

file to import not found or unreadable: breakpoint
Current dir: example/styles/
Line 1  Column 9  example/styles/main.scss

是否有熟悉从 compass 切换到 libsass 的人知道是否有这些进口产品的等价物可以作为替代品加入?

4

1 回答 1

0

您需要更新导入路径breakpoint以指向其所在_breakpoint.scss的位置。

grunt-contrib-compass 有一个importPath选项(例如importPath: '/bower_components',)

使指定文件夹下的文件可通过 Sass 的 @import 指令找到

由于它已从您的 gruntfile 中删除,您现在应该使用完整路径来导入它:

@import "/bower_components/breakpoint/breakpoint";

编辑:libsass 有一个类似的选项“loadPath”,它采用一组路径来搜索@import 的文件。

grunt.initConfig({
  libsass: {
    options: {
      loadPath: ['my/load/path']
    },
    files: {[
        {
            expand: true,
            cwd: 'my/src/dir',
            src: ['**/*.scss'],
            dest: 'dist',
            ext: '.css'
        }
    ]},
  }});

您的 libsass 新配置将包括

如果您选择不这样做,则需要像为指南针所做的那样全局安装断点。

gem "breakpoint", "~>2.4.0"
于 2015-05-05T17:54:52.107 回答