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

В моем проекте у меня много задач grunt, которые должны обрабатывать множество файлов и помещать их в папку, сохраняя структуру папок одинаковой, например, для кофе-транслятора:

/src/*.coffee ->/dest/*.js
/src/foo/*.coffee ->/dest/foo/*.js

Я пробовал разные очевидные стили конфигурации gruntfile.coffee, ни один из них не работает:

    coffee:
        compile: 
            files:
                'dest/': 'src/**/*.coffee'

-

    coffee:
        compile: 
            src: 'src/**/*.coffee'
            dest: 'dest/'

-

    coffee:
        compile:
            files: [{ src: 'src/**/*.coffee', dest: 'dest/' }]

Все вышеперечисленное (с и без скобок вокруг значения src) получите меня "Предупреждение: невозможно записать файл" dest/"(код ошибки: EISDIR). Используйте --force для продолжения".

Однако этот, оказалось, работает:

    coffee:
        compile:
            expand: yes
            cwd: 'src'
            src: '**/*.coffee'
            dest:  'dest/'
            ext: '.js'

Я прочитал официальное руководство по настройке задачи grunt, но не смог найти ничего связанного с папкой dest-folder. Английский не мой родной язык - я что-то упускаю?

Версии:

 grunt: 0.4.1
 grunt-autoprefixer: 0.1.20130615 
 grunt-cli: 0.1.9
 grunt-contrib: 0.7.0 
 grunt-contrib-clean: 0.5.0
 grunt-contrib-compass: 0.2.0
 grunt-contrib-copy: 0.4.1
 grunt-contrib-htmlmin: 0.1.3
 grunt-contrib-sass: 0.3.0
 grunt-contrib-uglify: 0.2.2
 grunt-dot-compiler: 0.5.2 
 grunt-git: 0.1.3 
 grunt-htmlcompressor: 0.1.8
 grunt-iced-coffee: 0.7.0-a
 grunt-jade: 0.4.0
 grunt-shell: 0.3.1 
+1
источник поделиться
1 ответ

Сделай это:

files: [
  {
    expand: true, 
    cwd: 'src', 
    src: ['**/*.coffee'], 
    dest: 'dest/', 
    ext: '.js'
  }
]

Слэш должен использоваться после dest (хотя, вероятно, он будет работать без него), но ext необходим.

+2
источник

Посмотрите другие вопросы по метке или Задайте вопрос