Quiero importar mi archivo functions.js en mi archivo index.js y usar variables y funciones en functions.js.
Por ejemplo: tengo una variable x en mi archivo functions.js. Importo functions.js como "importar './functions.js';" en mi index.js. La ruta es correcta con seguridad (están en el mismo directorio). Pero cuando trato de usar x, tengo el siguiente error -> "index.js: 01 Error de referencia no capturado: x no está definido"
funciones.js export var x = 0;
índice.js
import './functions.js'; console.log(x);Gracias ! :)
El objetivo de los módulos es alejarse de este negocio de compartir todo en un solo ámbito (el ámbito global, por defecto en los scripts que no son módulos). Si quiere hacer eso, no use módulos, use scripts que no sean módulos.
Los módulos se definen en términos de
export )import )En general, es mejor que hagas explícitas esas relaciones:
import { x } from "./fonctions.js"; // ...use `x`... Eso supone que x es una exportación con nombre :
export const x = /*...*/; // or export function x() { // ... }; // etc.Lo más parecido a una construcción "importar todo desde X" en módulos de JavaScript es una importación de objeto de espacio de nombres de módulo , que se ve así:
import * as fonctions from "./fonctions.js"; Luego usaría fonctions.x para referirse a x . Pero , x todavía tiene que exportarse desde fonctions.js (como arriba). Cualquier cosa declarada en un módulo que no se exporte explícitamente es privada para ese módulo, por lo que no aparece en el objeto de espacio de nombres del módulo.