2

我正在尝试将 Dennis Becker 的 grunt-sass-globbing 插件与 libsass 一起使用,因为 libsass 不支持 sass-globbing。https://github.com/DennisBecker/grunt-sass-globbing

我尝试使用开发人员提供的文档设置 libsass 项目。

我无法准确确定文件需要放置的位置以及应如何调用导入。

以下设置会引发此错误:

Running "sass_globbing:files" (sass_globbing) task

Running "sass:app" (sass) task
>> file to import not found or unreadable: layout/**/*
>> Current dir: /Users/dlahay/Documents/Workspaces/SusyLibsass/css/sass/
>>   Line 3  Column 9  css/sass/main.scss

文件结构:

css
|_ main.css
|_ sass
    |_ layout
        |_ _base.scss
    |_ typography
        |_ _base.scss
    |_ _layoutMap.scss
    |_ _typographyMap.scss
    |_ main.scss

Gruntfile.js

grunt.initConfig({
    sass_globbing: {
      files: {
        'css/sass/_layoutMap.scss': 'css/sass/layout/**/*.scss',
        'css/sass/_typographyMap.scss': 'css/sass/typography/**/*.scss',
      },
      options: {
        useSingleQuotes: false
      }
    },

    // Grunt-sass
    sass: {
      app: {
        files: [{
          expand: true,
          cwd: 'css/sass',
          src: ['*.scss'],
          dest: 'css',
          ext: '.css'
        }]
      },
      options: {
        sourceMap: false,
        outputStyle: 'nested',
        imagePath: "../",
      }
    },

    // Grunt-contrib-watch
    watch: {
      sass: {
        files: ['css/sass/**/*'],
        tasks: ['sass']
      },
      options: {
        livereload: true,
        spawn: false
      }
    },
});

grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-sass-globbing');

grunt.registerTask('default', ['sass_globbing', 'sass', 'watch']);

主要.scss:

@import "../../bower_components/susy/sass/susy";

@import "layout/**/*";
@import "typography/**/*";

我还在 grunt-sass-globbing repo 上发布了这个问题/问题。

4

2 回答 2

1

grunt-sass-globbing 的开发人员 Dennis Becker 帮助我确定了我的设置的两个问题:

  1. 我没有在 Gruntfile 的 sass_globbing 任务中识别目标:

    sass_globbing: {
         my_target: {
            files: {
                'css/sass/_layoutMap.scss': 'css/sass/layout/**/*.scss',
                'css/sass/_typographyMap.scss': 'css/sass/typography/**/*.scss',
            },
        },
        options: {
            useSingleQuotes: false
        }
    },
    
  2. 我的 main.scss 应该在 @import 中有地图文件的名称:

    @import "../../bower_components/susy/sass/susy";
    
    @import "layoutMap";
    @import "typographyMap";
    

现在事情进展顺利。谢谢,丹尼斯。

于 2015-03-08T01:21:31.440 回答
0

我已经在 GitHub 存储库网站上回答了这个问题。这只是 Gruntfile.js 配置的一个问题——你没有在 sass_globbing 任务上定义目标。

于 2015-03-06T09:38:53.800 回答