Как настроить задачу компиляции Sass с рекурсивной директорией с помощью Grunt

Я новичок и учусь настраивать задачи компиляции coffee, jade и sass. Я мог успешно настроить задачи компиляции для каталога coffee и jade, но не смог из-за дерзости. Структура моего проекта ниже

.                                                                                                   
├── Gruntfile.coffee                                                                                
├── node_modules                                                                                    
├── package.json                                                                                    
├── sass                                                                                            
│   └── index.sass                                                                                  
└── www

и мой package.json

{
  "name": "grunt-sass-test",
  "version": "0.1.0",
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-contrib-sass": "~0.5.0"
  }
}

когда ниже указан 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"
        ]

но когда, как показано ниже, >> Исходный файл "index.sass" не найден. отображается ошибка

    sass:
      compile:
        cwd: 'sass'
        src: ['**/*.sass']
        dest: 'www/'
        ext: '.css'

Как я могу настроить задачу рекурсивной компиляции sass?


person Mekajiki    schedule 07.11.2013    source источник


Ответы (1)


В grunt все рекурсивные файлы работают одинаково:

files: [{
  expand: true,
  cwd: "sass/folder",
  src: ["**/*.sass"],
  dest: "dest/folder",
  ext: ".css"
}]

expand - для рекурсивного выполнения, cwd - это каталог запуска, src - это регулярное выражение для соответствия ** (в папке), dest - это папка, в которой он сохраняется после компиляции, и, наконец, ext - добавленное расширение

Это должно работать для всех задач, которые используют файлы, в grunt.

person Jesús Quintana    schedule 07.11.2013
comment
OMG, моя ошибка заключалась в том, что опечатка была расширена с помощью expnad, большое спасибо. - person Mekajiki; 20.11.2013
comment
Убедитесь, что вы не добавили / перед sass/folder или перед dest/folder. Почему-то это ломает. Это была проблема, с которой я столкнулся. - person Christian Juth; 27.12.2016