¡Soy bastante nuevo en Node y, por lo tanto, me quedé con esto!
Estoy tratando de escribir un script de nodo que crea una carpeta (lizardproject) que tiene tres archivos diferentes, es decir, index.html, app.js, style.css.
Código
const fs = require('fs'); const folderName = process.argv[2] || 'Project' try { fs.mkdirSync(folderName); fs.writeFileSync(`${folderName}/index.html`) fs.writeFileSync(`${folderName}/app.js`) fs.writeFileSync(`${folderName}/style.css`) } catch(e) { console.log("Something went wrong!!"); console.log(e); }En la ejecución, la carpeta se está creando.
Ejecución
hp\nodeintro>node boilerplate.js lizardprojectResultado
hp\nodeintro>ls boilerplate.js lizardprojectPero los archivos no lo son, y se muestra este error: -
Error
¡¡Algo salió mal!!
TypeError [ERR_INVALID_ARG_TYPE]: el argumento de "datos" debe ser de tipo cadena o una instancia de Buffer, TypedArray o DataView. Recibido indefinido
en Object.writeFileSync
Mire ladocumentación para esa función:
fs.writeFileSync(archivo, datos[, opciones])
file <string> | <Buffer> | <URL> | <integer> filename or file descriptor data <string> | <Buffer> | <TypedArray> | <DataView> | <Object>
data es el segundo argumento.
No está proporcionando el segundo argumento, por lo que no está undefined . De ahí el mensaje de error: Received undefined at Object.writeFileSync .
El error le dice qué tipos de valores son aceptables. Proporcione uno de esos. Una cadena sería lo más simple.