es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo solucionar el error que proviene de fs.outputJsonSync en node.js?

Estoy utilizando node js para compilar un contrato inteligente.

Quiero importar de este contrato inteligente dos objetos (que representan dos contratos) y almacenarlos en un directorio de archivos llamado “build” con una extensión JSON.

Cuando ejecuto el comando node compile.js, obtengo este error:

errno: -4058, syscall: 'open', code: 'ENOENT'.

Cuando he depurado mi código, ¿ocurrió el error en fs.outputJsonSync?

const path = require(“path”);
const fs = require(“fs-extra”);

const solc = require(“solc”);

const buildPath = path.resolve(__dirname, “build”);

fs.removeSync(buildPath);

const campaignPath = path.resolve(__dirname, “contracts”, “Campaign.sol”);

const source = fs.readFileSync(campaignPath, “utf8”);

const output = solc.compile(source, 1).contracts;
console.log(output);

fs.ensureDirSync(buildPath);

// Para recorrer los contratos que contienen 2 objetos con datos
for (let contract in output) {
fs.outputJsonSync(
path.resolve(buildPath, contract + “.json”),
output[contract]
);
}

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el error se produce al intentar abrir un archivo que no existe. Verifique que el directorio build exista y que fs.outputJsonSync esté apuntando a la ruta de archivo correcta. Puede ser útil agregar algún manejo de errores y registro para identificar exactamente dónde se está produciendo el problema.

Comments are closed.