【问题标题】:Using Grunt to watch all files in my src directory and output to build使用 Grunt 监视我的 src 目录中的所有文件并输出到构建
【发布时间】:2017-09-19 04:38:17
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript node.js gruntjs grunt-contrib-less grunt-contrib-coffee


    【解决方案1】:

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

    我想要做的是调用 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"] 使其在 cwd 的每个子目录中查找每个 .coffee 文件。输出到dest 文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多