minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Cada arquivo js é um módulo e a especificação do módulo CommonJS é adotada por padrão.
Módulo ES6 emergente pk módulo CommonJS tradicional
característica | CommonJS | Modularidade ES6 |
---|---|---|
Exportar | exports objeto | export Palavras-chave |
importar | require() função | import Palavras-chave |
modo de carregamento | Sincronizar | assíncrono |
modo de execução | Solteiro | Solteiro |
Dependências | estático | dinâmico |
Forma de árvore tremendo | não suporta | apoiar |
modo de carregamento
modo de execução
A execução dos módulos CommonJS e ES6 é singleton: o módulo será carregado apenas uma vez e todas as referências ao módulo apontarão para a mesma instância.
Dependências
Forma de árvore tremendo
Uma técnica de otimização para remover código não utilizado de pacotes JavaScript.
Três maneiras de habilitar módulos ES6
"type": "module"
, então o Node.js tratará todos os arquivos .js como módulos ES6..mjs
, para que o Node.js o trate automaticamente como um módulo ES6.type="module"
AtributosSintaxe do módulo ES6
Cada módulo só pode ter uma exportação padrão
let a = 1
// 默认导出 a
export default a
// 导入默认时,可以命其他名称
import b from './demo.js'
console.log(b)
Expressões de função/funções anônimas podem ser usadas diretamente como exportações padrão
export default function myFunc() {}
export default function() {}。
let a = 1
let b = 2
export { a, b }
// 导入多项时,必须与导出名对应
import { a, b } from './demo.js'
console.log(a, b)
let a = 1
let b = 2
export { a as c, b as d }
// 导入时,只能导入新的名称
import { c, d } from './demo.js'
console.log(c, d)
export { name1, name2, ... } from 'module-name'
export let a = 1;
export let b = 2;
// 通过 as 重命名为一个变量(值为对象)
import * as myModule from "./demo.mjs";
console.log(myModule.a);
console.log(myModule.b);
import {trunc as StringLib} from "../lib/string.js"
import {trunc as MathLib} from "../lib/math.js"
import pkg from "./package.json" assert { type: "json" };
const { default: jsonObject } = await import('./file.json', {
assert: {
type: 'json'
}
});
import * as 自定义名称 from '模块名称'
Sintaxe do módulo CommonJS
Exportar
module.exports = "朝阳";
importar
const demoModule = require("./demo.js");
console.log(demoModule); // 朝阳
Exportar
exports.a = 1;
exports.b = 2;
importar
const demoModule = require("./demo.js");
console.log(demoModule); // { a: 1, b: 2 }