我正在尝试将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']);


main.scss:

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

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


我还把这个问题/问题发布在了咕unt咕glo的全球回购协议上。

最佳答案

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


我没有在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
    }
},

我的main.scss应该在@import中具有映射文件的名称:

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

@import "layoutMap";
@import "typographyMap";



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

09-25 15:22