3

Как добавить текст в несколько файлов, используя пехотинца-файл-добавитьдобавление текста в нескольких файлах с использованием хрюкать-файлов добавить

https://www.npmjs.com/package/grunt-file-append

grunt.initConfig({ 
    file_append: { 
    default_options: { 
     files: [ 
     { 
      append: "text to append", 
      prepend: "text to prepend", 
      input: '/path/to/input/file' 
      output: 'path/to/output/file' 
     } 
     ] 
    } 
    } 
}) 

, если я пишу функцию таким образом, для добавления для нескольких файлов он вызывает ошибку.

grunt.initConfig({ 
    file_append: { 
    default_options: { 
     files: [ 
     { 
      append: "text to append", 
      prepend: "text to prepend", 
      input: './path/to/input/*.html' 
      output: 'path/to/output/*.html' 
     } 
     ] 
    } 
    } 
}) 

Я получаю следующее сообщение об ошибке:

Running "file_append:default_option" (file_append) task 
>> Source file "./path/to/output/*.html" not found. 
Warning: Task "file_append:default_option" failed. Use --force to continue. 

Aborted due to warnings. 

просто, добавить свои одного произведения файлов, но не для нескольких файлов, любую вещь я делаю неправильно здесь.

ответ

3

Я не думаю, что он должен работать. Как вы можете видеть в github code for grunt-file-append:

prepend = file.prepend || "" 
append = file.append || "" 
fileContent = grunt.file.read filepath 
value = "#{ prepend }#{ fileContent }#{ append }" 
grunt.file.write filepath, value 

Он читает только один файл и добавляет/добавлять в начало на нем.

Вы попробовали grunt-contrib-concat?

+0

Я использовал grunt contrib concat, но я новый, чтобы хрюкать, не знаю, как объединить эти два плагина друг в друга. – patz

+0

Есть ли способ, с помощью которого можно использовать grunt contrib contact и добавлять или добавлять теги. – patz

+0

да, посмотрите на опцию 'banner' и' footer': https://github.com/gruntjs/grunt-contrib-concat#banner – jmartins

3

Как @jmartins упоминается код просто не настроен, чтобы иметь дело с «чем-то/*. HTML», я думаю, единственный способ добавления нескольких файлов (кроме пути внесения изменений в исходном коде) должен иметь несколько объектов в массиве:

file_append: { 
     default_options: { 
      files: [{ 
       prepend: 'something', 
       input: '<%= config.dist %>/<%= config.distScripts %>/script1.js', 
       output: '<%= config.dist %>/<%= config.distScripts %>/script1.js' 
      }, { 
       prepend: 'something', 
       input: '<%= config.dist %>/<%= config.distScripts %>/script2.js', 
       output: '<%= config.dist %>/<%= config.distScripts %>/script2.js' 
      }, { 
       prepend: 'something', 
       input: '<%= config.dist %>/<%= config.distScripts %>/script3.js', 
       output: '<%= config.dist %>/<%= config.distScripts %>/script3.js' 
      }] 
     } 
    } 

Это не здорово, когда у вас есть много файлов для обновления, однако, так что это будет скорее всего, будет проще просто обновить источник, чтобы делать то, что вам нужно, если будет много файлов, или если нет конечного списка, и поэтому вы действительно не хотите постоянно обновлять файл grunt.