我正在尝试将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";
现在事情进展顺利。谢谢,丹尼斯。