Usando el siguiente ejemplo. El elemento const test_el es nulo porque el contenido DOM aún no está cargado. Entonces test() genera un error.
Envolver la definición constante en un evento de carga no parece funcionar ya que ahora está en el mismo alcance que la función.
¿Cuál es el método correcto para lograr esto? Sé que puedo agregar la const dentro de la función, pero debe reutilizarse en varias funciones (no en este ejemplo)
principal.js
import {test} from "../import.js" window.addEventListner("load", ()=>{ test() })importar.js
const test_el = document.getElementById("test_div") export function test(){ console.log(test_el.innerText) }// you can call // all the tests that are dependent of `test_el` from one parent function // after getting value of `test_el` export function runTests() { const test_el = document.getElementById("test_div"); if(test_el) { firstTest(test_el) secondTest(test_el) } else { throw new Error('Element not found.') } } function firstTest(element){ assert(element.innerText.equal('someText')) } function secondTest(element){ assert(element.classList.includes('someClass')) }