grunt-contrib-sass v0.7.3 Build Status

编译sass文件

新手入门

如果你还不了解grunt,请查阅相关文档来了解什么是 Grunt Grunt 新手入门,它会告诉你怎样去创建一个gruntfile以及如何安装和使用grunt插件。一旦你熟悉了这个流程,使用下面的命令安装这个插件:

  1. npm install --save-dev grunt-contrib-sass

一旦插件安装成功,你可以在你的Gruntfile中加入下面的这段javascript代码来激活它:

  1. grunt.loadNpmTasks('grunt-contrib-sass');

Sass任务

可以使用 grunt sass 命令来运行 sass 任务。

Sass是一个css预处理器,通过sass你可以使用嵌套、变量、混入、函数、继承等来管理css。你可以将sass编译成的标准的css文件放到网站上或应用程序上。

该任务需要运行在安装了SassRuby环境下。如果你使用的是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选项时该配置不能使用

示例

配置示例

  1. grunt.initConfig({
  2. sass: { // sass任务
  3. dist: {
  4. options: { // 任务配置
  5. style: 'expanded'
  6. },
  7. files: { // 文件列表
  8. 'main.css': 'main.scss', // '目标文件': '源文件'
  9. 'widgets.css': 'widgets.scss'
  10. }
  11. }
  12. }
  13. });
  14. grunt.loadNpmTasks('grunt-contrib-sass');
  15. grunt.registerTask('default', ['sass']);

编译示例

  1. grunt.initConfig({
  2. sass: {
  3. dist: {
  4. files: {
  5. 'main.css': 'main.scss'
  6. }
  7. }
  8. }
  9. });

编译多个文件

你可以在files列表里配置多个源文件和目标文件。

  1. grunt.initConfig({
  2. sass: {
  3. dist: {
  4. files: {
  5. 'main.css': 'main.scss',
  6. 'widgets.css': 'widgets.scss'
  7. }
  8. }
  9. }
  10. });

编译一个目录里的sass文件

你可以使用expand相关属性来指定一个目录,而不是在files列表里列出所有文件。更多信息可参考 grunt docs - 构建动态文件对象

  1. grunt.initConfig({
  2. sass: {
  3. dist: {
  4. files: [{
  5. expand: true,
  6. cwd: 'styles',
  7. src: ['*.scss'],
  8. dest: '../public',
  9. ext: '.css'
  10. }]
  11. }
  12. }
  13. });