如何通过Grunt配置目录递归Sass编译任务

Mek*_*iki 7 sass node.js coffeescript gruntjs

我是新手,学习如何配置coffee,jade和sass编译任务.我可以成功配置咖啡和玉器目录的编译任务,但我不能为sass.我项目的结构如下

.                                                                                                   
??? Gruntfile.coffee                                                                                
??? node_modules                                                                                    
??? package.json                                                                                    
??? sass                                                                                            
?   ??? index.sass                                                                                  
??? www
Run Code Online (Sandbox Code Playgroud)

我的package.json是

{
  "name": "grunt-sass-test",
  "version": "0.1.0",
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-contrib-sass": "~0.5.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

当Gruntfile.coffee吼叫时,$ grunt sass成功编译index.css:

module.exports = (grunt) ->
  grunt.initConfig
    pkg: grunt.file.readJSON('package.json')
    sass:
      compile:
        files:[
          "www/index.css": "sass/index.sass"
        ]
Run Code Online (Sandbox Code Playgroud)

但是当如下,>>源文件"index.sass"未找到.显示错误

    sass:
      compile:
        cwd: 'sass'
        src: ['**/*.sass']
        dest: 'www/'
        ext: '.css'
Run Code Online (Sandbox Code Playgroud)

如何配置递归sass编译任务?

Jes*_*ana 24

在grunt中,所有递归文件的工作方式相同:

files: [{
  expand: true,
  cwd: "sass/folder",
  src: ["**/*.sass"],
  dest: "dest/folder",
  ext: ".css"
}]
Run Code Online (Sandbox Code Playgroud)

expand用于递归,cwd是启动目录,src是正则表达式匹配**(在文件夹中),dest是编译后保存的文件夹,最后ext是添加的扩展名

这应该适用于所有使用文件的任务,在grunt中.