0

Je suis complètement nouveau à Grunt et je veux l'utiliser dans mon prochain projet.En utilisant Grunt pour regarder tous les fichiers dans mon répertoire src et la sortie pour construire

Ce que je veux faire est, par exemple, d'avoir le fichier à src/server.coffee être compilé build/server.js et le fichier à src/public/assets/css/global.less être compilé build/public/assets/css/global.css.

Cela signifie que je veux conserver le même chemin de fichier après src, ainsi que le même nom de chaque fichier, en ne modifiant que son extension. Je peux le faire manuellement pour chaque fichier de mon projet, mais j'aimerais vraiment que Grunt le fasse avec tous les fichiers du dossier src.

Comment puis-je faire cela?

Répondre

0

Il semble que j'ai trouvé la réponse dans les docs - je ne savais pas comment la rechercher. Ce que je veux faire est appelé globbing: définir des routines globales pour le Gruntfile. Il ressemble à ceci (en 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 définit le répertoire de base, flatten: false fait structure sous-répertoire et le respect Grunt [src: "**/*.coffee"] lui donne une apparence pour chaque fichier .coffee dans chaque sous-répertoire du cwd. La sortie va au dossier dest.