¿Cómo puedo pasar una variable de Node.js Express a mis archivos JavaScript estáticos? Estoy tratando de buscar en mi cliente js, pero para eso necesito 2 ID que obtengo de mi base de datos. En este momento, estoy engañando a este comportamiento al enviar las ID con el archivo .ejs. Esto funciona, pero está lejos de ser correcto.
<span id="user_1"><%= user.ID %></span> <span id="user_2"><%= matchId %></span> setInterval(function() { let test123 = document.querySelector('.chat_history_section_inner').childElementCount; let user_1 = document.querySelector('#user_1').innerHTML; let user_2 = document.querySelector('#user_2').innerHTML;; fetch('/api?s1=' + user_1 + '&r1=' + user_2 + '&s2=' + user_2 + '&r2=' + user_1, { method: 'get' }).then(function (response) { return response.json() }).then(function (res) { if (res.length > test123) { location.reload(); } else { console.log('Your chat is up to date!') } }); }, 1000);¿Intentaste pasarlo directamente a la variable?
let user_1 = "<%= user.ID %>";Si EJS no procesa su archivo js, debe pasarlo de un archivo procesado ejs a su función, o lo agrega como un atributo personalizado a su etiqueta html y lee el atributo de la identificación, eso es similar a su solución.