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 ejecutar un archivo node-js en el navegador? En otras palabras, ¿cómo ejecutar un archivo node-js cuando se envía un formulario HTML?

Quiero almacenar los datos recopilados del formulario HTML en una hoja de cálculo de Excel. Cuando ejecuto el archivo JavaScript en Anaconda prompt, funciona perfectamente bien y cuando el archivo HTML se ejecuta en el navegador, no hay errores. Pero cuando intento vincularlos (usando una etiqueta de script), obtengo un error “Uncaught ReferenceError: require is not defined”.

Aquí está el código JavaScript:

const info = [];

function display(e){
//Part1
e.preventDefault();
var nm = document.getElementById(“nm”).value;
var ag = document.getElementById(“ag”).value;
var data = [nm, ag];
info.push(data);
var text = document.createElement(“h2”);
text.innerHTML = info;
document.body.appendChild(text);
console.log(info);

// ————————————————-

//Part2
var Excel = require(‘exceljs’);
var workbook = new Excel.Workbook();
workbook.xlsx.readFile(“AppendRow.xlsx”).then(function(){
worksheet = workbook.getWorksheet(“Main”);
worksheet.addRows(data);

workbook.xlsx.writeFile("AppendRow.xlsx");

});

alert(‘¡La fila ha sido agregada!’);
}

En la Parte 1, los datos de entrada se formatean en una lista para que se pueda agregar fácilmente al archivo de Excel.

En la Parte 2, se agrega la lista al archivo de Excel.

Aquí está la parte de HTML del código:




Realmente no puedo entender qué podría estar mal…. Según otra fuente en línea, instalé Browserify e intenté ejecutarlo usando este módulo, pero no funcionó.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El error “Uncaught ReferenceError: require is not defined” ocurre al intentar usar código específico de Node.js en un entorno de navegador. Como Node.js no es compatible con los navegadores web, no puede ejecutar declaraciones de require, que se usan para la carga de módulos en Node.js.

    Para resolver este problema, puede usar una herramienta como Browserify o Webpack para empaquetar su código de Node.js en un formato que pueda ejecutarse en un entorno de navegador. Alternativamente, puede usar una biblioteca como exceljs-browser en lugar de la versión de Node.js de exceljs.

    Una vez que haya empaquetado su código o cambiado a una biblioteca compatible con el navegador, puede vincular su archivo JavaScript a su archivo HTML mediante una etiqueta de script como de costumbre.

Comments are closed.