Как копировать файлы, применяя преобразования к содержимому в Node.JS

#node.js #copy #buffer

#node.js #Копировать #буфер

Вопрос:

У меня есть файл шаблона, который я хочу изменить при его копировании. Итак, мой файл шаблона будет выглядеть следующим образом:

template.js

 $name
  

Когда я копирую этот файл, я хотел бы изменить содержимое $ name на что-то вроде User, Company и т.д…

User.js

 user
  

Company.js

 company
  

Я использую NCP для выполнения копирования, и у него есть опция «преобразовать» (которая дает мне доступ к потокам чтения и записи), но я не знаю, как управлять ими для выполнения этого преобразования.

 ncp('../patterns/template.js', /*THIS IS MY TEMPLATE FILE */
    './app/routes/user.js', /*THIS IS THE DESTINATION FILE */
    {
       /* HERE I DON'T KNOW HOW TO PERFORM THE TRANSFORMATION */
       transform: function(read, write){ read.pipe(write); } /
    }, (err) => {
          if(err) console.log(err);
    }
);
  

Может ли кто-нибудь помочь мне с этим?

Комментарии:

1. Не уверен, что вы можете изменять файл через поток, потому что это означает работу только с фрагментом файла, а не с файлом в целом. В вашем случае использования кажется, что вы хотите применить логику к содержимому вашего файла. Я бы сказал, что вам нужно прочитать файл, преобразовать его, как только вы получили все это в памяти, а затем сохранить. ( fs.readFile и fs.writeFile )

2. @Thom Я полагаю, что вы правы. Я изменил стратегию и теперь использую handlebars для компиляции файла шаблона.