Es posible que se haya discutido por completo, pero no puedo encontrar una respuesta perfecta ni aquí ni aquí .
Básicamente
require('./xx')
, mientras queimport {stuff} from './xx'
Así es como he estado haciendo el require
cuando uso CommonJS
require('apackage')
orequire('./myfile')
Es decir, no necesito especificar sus extensiones para ninguno de los dos casos.
Pero al pasar a la importación de ESM, la import {stuff} from './myfile'
me está dando el error de:
Error [ERR_MODULE_NOT_FOUND]: Cannot find module
Aquí se muestra cómo pasar de CommonJS e importar ESM:
de
const colors = require("colors"); // Obj w/ all export fields const { red, blue } = require("colors"); // Select fields from export obj
a
import colors from "colors"; // _Only_ `default` export (`{ green }`) import { red, blue } from "colors"; // Other named exports
Pero, ¿es posible que no especifique sus extensiones para mis propios archivos también? De lo contrario,
js
y mjs
,