Agora podemos importar módulos CommonJS no Node usando a sintaxe de importação ESM?
Então, se commonjsmodule
for um módulo cjs que exporta assim:
exports.add = function() {...}
Podemos importar dessa forma, supondo que estamos trabalhando dentro do ESM?
import { add } from "commonjsmodule";
Neste vídeo do YouTube, o autor está demonstrando a type
propriedade e o que ela faz package.json
.
E ele faz isso criando um arquivo cjs e um arquivo mjs e um aplicativo, e no aplicativo ele está importando ambos usando a sintaxe de importação ESM, e eu simplesmente presumi que ferramentas adicionais seriam necessárias para o arquivo cjs.
Sim, no Node.js é possível
import
módulos CommonJS a partir de módulos ECMAScript. A documentação tem mais informações .Isso acontece desde que o Node.js oferece suporte à sintaxe do módulo ECMAScript (acabei de testar para verificar se funciona desde a versão 8.5.0).
A última vez que verifiquei, os autores do Node.js estavam trabalhando em algo assim.
Eu costumava usar
--experimental-default-type=module
antes que esse recurso fosse removido, aparentemente por causa da análise de "sintaxe".Geralmente não uso
package.json
nenhum arquivo.Eu uso
node
nightly. Ele roda ECMAScript Modules ou CommonJS muito bem sem nenhumpackage.json
.Você certamente pode executar os módulos CommonJS e ECMAScript no Bun agora mesmo, sem nenhuma controvérsia.
Usando import e require() juntos
Na verdade, é muito mais simples escolher um lado e segui-lo.
CommonJS é um sistema de carregamento de módulos arcaico que não é padrão.