Использование файла шаблона для создания уникальных файлов локально с p5.js

#javascript #p5.js

Вопрос:

У меня есть файл JS шаблона, в котором мне нужно изменить 1 переменную, а затем сохранить копию этого файла js. Я не могу использовать node, потому что он не поддерживает p5. Мне интересно, есть ли способ сделать это локально.

 let resu<
function preload() {
  result = loadStrings('template.js')
}
function setup() {
  if (result[0] != null) {
    result[0] = "let number = " """   1   """;
    let writer = createWriter('modifiedTemplate.js');
    writer.write(result)
    writer.close()  
  }
} 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.min.js"></script> 

Ответ №1:

Если я правильно понимаю, вы хотите загрузить файл, отредактировать его и сохранить как новый файл. В таком случае, то, что у вас есть, в значительной степени там.

Единственные потенциальные проблемы, которые я вижу, заключаются в следующем — Допустим, у вас есть файл шаблонов, который выглядит следующим образом:

 let number = 10;
let count = 4;
 

И ты хочешь измениться let number = 10 на let number = 1 . Прежде всего, для этого вы можете использовать шаблонные литералы:

 result[0] = `let number = 1;`;
 

Затем то, что у вас есть, должно сохранить файл, однако он будет не в том формате, который вы могли бы ожидать — вывод файла будет:

 let number = 1;,let count = 4;
 

Такова природа метода javascript toString. Я бы рекомендовал присоединиться к массиву и отделить каждую строку новой строкой:

 writer.write(result.join('n'));
 

Что должно привести к следующему:

 let number = 1;
let count = 4;
 

Если вы застрянете, я реализовал это в p5.js набросок, который должен указать вам правильное направление.

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

1. Спасибо за улучшения, но проблема с моим текущим кодом заключается в том, что файл сохраняется на стороне клиента. Я хотел бы скопировать эти файлы в тот же каталог, в котором у меня есть скрипт js и html