cuando ejecuto el archivo js donde está escrita esta función, funciona y muestra datos en la consola. pero cuando lo ejecuto en un navegador desde el archivo html con un clic, aparece el error: Error de referencia no detectada: el requisito no está definido. Intenté usar la función en la etiqueta pero no funcionó.
function appendData() { const data = require("../assets/Data/Courses.json"); var length = Object.keys(data.employees).length; var Text = new Array(); for(let i = 0; i < length; i++) { //document.getElementById('test').innerHTML += "<br>"+data.employees[i].firstName + " " + data.employees[i].lastName ; Text[i] = data.employees[i].firstName+ " " + data.employees[i].lastName ; console.log(Text[i]); } }require() es en realidad el estilo Node de importar código. Así que no funcionará en este caso. No conozco su configuración, pero si está usando Vanilla JS (sin la configuración de Babel), puede incluir archivos .json en su código utilizando la API de fetch .
fetch("../assets/Data/Courses.json") .then(response => { const data = response.json(); var length = Object.keys(data.employees).length; var Text = new Array(); for(let i = 0; i < length; i++) { //document.getElementById('test').innerHTML += "<br>"+data.employees[i].firstName + " " + data.employees[i].lastName ; Text[i] = data.employees[i].firstName+ " " + data.employees[i].lastName ; console.log(Text[i]); } }) .then(data => console.log(data)) .catch(error => console.log(error));