如何在Grunt任务中将文件夹正确设置为目标路径?

时间:2013-08-15 12:17:42

标签: gruntjs

在我的项目中,我有许多繁琐的任务,应该处理一堆文件并将它们放入文件夹,保持文件夹的结构相同,例如:咖啡翻译:

/src/*.coffee - > /dest/*.js
/src/foo/*.coffee - > /目标/富/ *。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 task configuration guide但找不到任何与目标文件夹相关的内容。英语不是我的母语 - 我错过了什么吗?

版本:

 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 个答案:

答案 0 :(得分:2)

这样做:

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

dest之后应该使用斜杠(尽管它可能没有它),但ext是必要的。