Tengo un archivo JS de plantilla donde necesito cambiar 1 variable y luego guardar una copia de ese archivo js. No puedo usar el nodo porque no es compatible con p5. Me pregunto si hay una manera de hacer esto localmente.
let result; 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>Si entiendo correctamente, desea cargar un archivo, editarlo y guardarlo como un archivo nuevo. En ese caso, lo que tienes está más o menos ahí.
Los únicos problemas potenciales que puedo ver son los siguientes: supongamos que tiene un archivo de plantillas que se parece a:
let number = 10; let count = 4; Y quieres cambiar let number = 10 a let number = 1 . En primer lugar, puede usar literales de plantilla para hacer eso:
result[0] = `let number = 1;`;Entonces, lo que tiene debería guardar el archivo, sin embargo, no estaría en el formato que podría esperar: la salida del archivo sería:
let number = 1;,let count = 4;Esa es la naturaleza del método javascript toString . Recomiendo unirse a la matriz y separar cada línea por una nueva línea:
writer.write(result.join('\n'));Que debería salir como el siguiente:
let number = 1; let count = 4;Si te quedas atascado, he implementado esto en un boceto p5.js que debería orientarte en la dirección correcta.