27 votes

Grunt Concat ne peut pas écrire dans un fichier

Viens d'installer la dernière Grunt sur Ubuntu 12.04. Voici mon gruntfile:

module.exports = function(grunt){
//project configuration
grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    concat: {
        slides :  {
            src : ['src/top.html', 'src/bottom.html'],
            dest : ['build/index.html']
        }
    }
});

//enable plugins
grunt.loadNpmTasks('grunt-contrib');
grunt.registerTask('default', ['concat:slides']);
}

Cela crée de la construction/ répertoire très bien, mais donne-moi la puissance de:

En cours d'exécution "concat:slides" (concat) tâche d'Avertissement: Impossible d'écrire "build/index.html" fichier (code d'Erreur: undefined). Utilisation de --force pour continuer.

J'ai essayé de courir un chmod 777 sur le répertoire, comme je l'ai pensé qu'il pourrait avoir quelque chose à voir avec les autorisations, mais qui ne semblent pas à changer quoi que ce soit.

Comment puis-je faire Grunt va écrire à build/index.html?

75voto

Andrew Carreiro Points 655

Deviner:

 //Does not work
dest : ['build/index.html']
 

Fonctionne comme une chaîne, mais pas comme un tableau:

 //Works
dest : 'build/index.html'
 

0voto

Randall Bohn Points 1134

J'ai changé les tâches / concat.js pour accepter les tableaux pour dest:

 // Write the destination file.
// If f.dest is an array take the first element
var dest  = ([].concat(f.dest))[0]
grunt.file.write(dest, src);
 

mais plus tard, j'ai décidé d'utiliser le formulaire de fichiers au lieu de src / dest:

 files: { 'dest.js': ['a.js', 'b.js'] }
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X