Cuando se importa un archivo en JavaScript, ¿esa acción hace que el alcance de las variables en el archivo importado se convierta en el del archivo del importador, negando así la necesidad de agregar declaraciones de importación en el segundo archivo importado ya que están declaradas en el archivo del importador?
Por ejemplo, si esto se carga primero:
/* Config.js */ import { ImportantVar, OkayVar, LastVar } from 'first/file/path.js'; import DataObject from 'second/file/path.js';y luego esto se carga:
/* Second File */ export const DataObject = function( param1, param2 ) { return new ImportantVar( param1, param2 ); }¿Debe agregarse esta línea al principio del segundo archivo?
import ImportantVar from 'first/file/path.js'; No me importa si el segundo archivo está roto si se ejecuta de forma independiente, es decir, no como una importación de config.js .
No. Cada módulo tiene su propio alcance.
No está "importando un archivo" o "importando el código que se ejecutará", está importando los enlaces exportados del módulo; el módulo es independiente y sus exportaciones se pueden importar en varios lugares (mientras que el código solo se evalúa una vez). Heredar el alcance no funcionaría con eso.
Entonces, sí, deberá import { ImportantVar } from 'first/file/path.js' en su ejemplo.