Module
É uma forma de organizar código em arquivos separados, reutilizando-os via exportação e importação.
Sem a necessidade de expor variáveis globais.
Já existia no ES5, mas ficou mais fácil no ES6.
Exportamos um código para torná-lo disponível para outros arquivos.
Importamos um código para que possamos utilizá-lo, obter acesso as suas variáveis e funções.
ES5 - Sintaxe CommonJS
Exportação
module.exports = {
foo: function(){ return 'bar' },
baz: 123
}
Importação
const A = require('./A.js')
const foo = A.foo;
const baz = A.baz;
ES6 - Sintaxe Import
Exportação
export function foo(){ return 'baz' };
export const baz = 123;
Importação
import * as A from './A.js';
const foo = A.foo;
const baz = A.baz;