Tengo un proyecto simple presentado como:
project │ package.json │ └───productA │ │ │ └───test │ │ spec1.js │ └───common index.js │ └───sharedFunction1 │ auth.js │ index.jsEn spec1.js, puedo importar con éxito una función de auth.js como esta:
import { some_function } from "../../common/sharedFunction1/auth.js"Sin embargo, pensé que debería poder usar archivos index.js para poder importar así:
import { some_function } from "../../common"La función que estoy tratando de importar es algo así como (solo un ejemplo simple):
export function get_file_listing (folder) { var files = fs.readdirSync(folder); return files }y mi index.js en sharedFunction1 se ve así:
export * from './auth';y mi index.js en común se parece a:
export * from "./sharedFunction1";La importación automática de VSCode en el archivo de especificaciones parece pensar que la importación debería ser:
import { some_function } from "../../common";Pero cuando ejecuto mi prueba con eso obtengo:
Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import ... is not supported resolving ES modules imported from ...Mi paquete.json tiene:
"type": "module",He leído cientos de páginas diferentes tratando de entender qué estoy haciendo mal, pero estoy atascado. ¿Alguien puede decirme qué estoy haciendo mal o si esto debería funcionar?
Descubrí que aparentemente necesito este archivo:
.mocharc.json
{ "node-option": [ "experimental-specifier-resolution=node" ] }