¿Por qué las funciones declaradas en el script del módulo de tipo no funcionan y solo funcionan las funciones importadas?
Tengo un archivo HTML en el que hay una etiqueta de secuencia de comandos:
<script type='module' src="javascripts/script.js"></script>En el archivo scripts.js estoy importando una función de un archivo diferente:
import {bfs} from "./algorithms.js"Si trato de usar esa función en el archivo script.js, todo funciona. Sin embargo, dentro de este archivo script.js, tengo funciones diferentes, no importadas, así:
function mouseMoved() { console.log('mouse moved') };Cuando ejecuto el servidor express, aparece el error:
Error de referencia no capturado: mouseMoved no está definido en HTMLTableCellElement.onmousemove
Pero cuando elimino la propiedad "type='module'" de la etiqueta del script dentro de HTML, así:
<script src="javascripts/script.js"></script>Luego, la función declarada dentro de este script, como mouseMoved(), funciona perfectamente. Sin embargo, la etiqueta del script debe tener el atributo type='module' para que las importaciones funcionen.
Busqué y vi un par de videos que explican los módulos, pero no encontré la respuesta a mi problema. Realmente me encantaría saber cómo manejar los módulos en relación con la etiqueta del script principal en el archivo HTML, para poder funciones importantes dentro del script principal, pero también usar funciones declaradas en ese script.