grunt-contrib-sass v0.7.3 
编译sass文件
新手入门
如果你还不了解grunt,请查阅相关文档来了解什么是 Grunt Grunt 新手入门,它会告诉你怎样去创建一个gruntfile以及如何安装和使用grunt插件。一旦你熟悉了这个流程,使用下面的命令安装这个插件:
npm install --save-dev grunt-contrib-sass
一旦插件安装成功,你可以在你的Gruntfile中加入下面的这段javascript代码来激活它:
grunt.loadNpmTasks('grunt-contrib-sass');
Sass任务
可以使用 grunt sass 命令来运行 sass 任务。
Sass是一个css预处理器,通过sass你可以使用嵌套、变量、混入、函数、继承等来管理css。你可以将sass编译成的标准的css文件放到网站上或应用程序上。
该任务需要运行在安装了Sass的Ruby环境下。如果你使用的是OS X 或者 Linux环境,默认一般都安装Ruby。你可以使用ruby -v来测试是否成功安装ruby。当ruby安装成功后,运行gem install sass来安装sass。
提示:以下划线_开头的sass文件编译时会被忽略。ps: 一般情况下只想通过@import导入的,而不想生成对应css文件的可以使用下划线开头来命名。
配置选项
sourcemap
- 类型:
Boolean - 默认值:
false
启用Source Maps.
需要 Sass 3.3.0 或以上版本
trace
- 类型:
Boolean - 默认值:
false
显示完整的追踪错误信息。
check
- 类型:
Boolean - 默认值:
false
检查语法,不校验值。
style
- 类型:
String - 默认值:
nested
输出css的格式,可以是 nested, compact, compressed, expanded。
precision
- 类型:
Number - 默认值:
3
输出小数时,默认精度为3。
quiet
- 类型:
Boolean - 默认值:
false
编译时是否显示警告和状态信息。
compass
- 类型:
Boolean - 默认值:
false
是否导入compass配置文件config.rb。
debugInfo
- 类型:
Boolean - 默认值:
false
是否输出可被FireSass等使用的额外的调试信息。
lineNumbers
- 类型:
Boolean - 默认值:
false
是否在生成的css中显示源代码的行号。
loadPath
- 类型:
String|Array
添加一个或多个sass的导入路径。
require
- 类型:
String|Array
执行sass任务前导入一个或多个ruby库。
cacheLocation
- 类型:
String - 默认值:
.sass-cache
sass缓存文件存放的路径
noCache
- 类型:
Boolean - 默认值:
false
不生成sass缓存文件。
bundleExec
- 类型:
Boolean - 默认值:
false
通过bundle exec运行sass : bundle exec sass.
banner
- 类型:
String
在输出的文件头加上指定的字符串或有用的许可信息。
开启sourcemap选项时该配置不能使用
示例
配置示例
grunt.initConfig({sass: { // sass任务dist: {options: { // 任务配置style: 'expanded'},files: { // 文件列表'main.css': 'main.scss', // '目标文件': '源文件''widgets.css': 'widgets.scss'}}}});grunt.loadNpmTasks('grunt-contrib-sass');grunt.registerTask('default', ['sass']);
编译示例
grunt.initConfig({sass: {dist: {files: {'main.css': 'main.scss'}}}});
编译多个文件
你可以在files列表里配置多个源文件和目标文件。
grunt.initConfig({sass: {dist: {files: {'main.css': 'main.scss','widgets.css': 'widgets.scss'}}}});
编译一个目录里的sass文件
你可以使用expand相关属性来指定一个目录,而不是在files列表里列出所有文件。更多信息可参考 grunt docs - 构建动态文件对象。
grunt.initConfig({sass: {dist: {files: [{expand: true,cwd: 'styles',src: ['*.scss'],dest: '../public',ext: '.css'}]}}});
