如何使用Grunt Coffee编译自己目录中的所有脚本?

时间:2014-07-24 20:05:22

标签: coffeescript gruntjs grunt-contrib-coffee

这就是我目前所拥有的:

    coffee: {
        options: {
            bare: true
        },          
        glob_to_multiple: {
            expand: true,
            flatten: false,
            cwd: 'public/js',
            src: ['*.coffee'],
            dest: 'public/js',
            ext: '.js'
        }
    },

问题是我有两个包含我的JS文件的目录,而且我不知道如何设置它来观察这两个地方,并将javascript编译到coffeescripts所在的相同目录中。

这是我尝试复制以下功能的coffeescript命令:coffee --watch --compile。

1 个答案:

答案 0 :(得分:1)

如果我理解正确并且你想从两个目录中将咖啡编译成JS,那么有两个简单的解决方案。

第一个解决方案 - 将JS文件编译到与原始CoffeeScript文件相同的目录:

  coffee:
     options:
        bare: true
     compile:
        files: [
           expand: true
           src: ['js/**/*.coffee', 'other/**/*.coffee']
           dest: './'
           ext: '.js'
        ]

第二个解决方案 - 将JS文件编译到所有咖啡文件的公共目录..(但它保留了相对路径,所以如果你有coffee/hello.coffe,它将被放入js/coffee/hello.js

  coffee:
     options:
        bare: true
     compile:
        files: [
           expand: true
           src: ['js/**/*.coffee', 'other/**/*.coffee']
           dest: 'js/'
           ext: '.js'
        ]

希望它有所帮助,否则你可以为每个目录尝试不同的设置,如下所示:

  coffee:
     options:
        bare: true
     compileOneDir:
        #...
     compileSecondDir:
        #...