0

我对 Grunt 完全陌生,我想在我的下一个项目中使用它。

我想要做的是,例如,将文件 atsrc/server.coffee编译为build/server.js和文件 atsrc/public/assets/css/global.less编译为build/public/assets/css/global.css.

这意味着我想在 之后保持相同的文件路径src,以及每个文件的相同名称,只更改其扩展名。我可以为项目中的每个文件手动执行此操作,但我真的希望 Grunt 对文件src夹中的每个文件执行此操作。

我怎样才能完成这项工作?

4

1 回答 1

0

似乎我在文档中找到了答案——我只是不知道如何寻找它。

我想要做的是调用globbing:为 Gruntfile 设置全局例程。它看起来像这样(在 CoffeeScript 中):

module.exports = (grunt) ->
    grunt.initConfig
        pkg: grunt.file.readJSON "package.json"

        coffee:
            files:
                expand: true
                cwd: "src/"
                flatten: false
                src: ["**/*.coffee"]
                dest: "build/"
                ext: ".js"

        less:
            files:
                expand: true
                cwd: "src/"
                flatten: false
                src: ["**/*.less"]
                dest: "build/"
                ext: ".css"


    grunt.loadNpmTasks 'grunt-contrib-coffee'
    grunt.loadNpmTasks 'grunt-contrib-less'

    grunt.registerTask 'default', ['coffee', 'less'];

    return

cwd设置基本目录,flatten: false使 Grunt 尊重子目录结构,并[src: "**/*.coffee"]使其.coffeecwd. 输出到dest文件夹。

于 2017-04-22T04:38:49.947 回答