2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Scapus cuiusque moduli est, ac CommuniJS specificatio moduli per defaltam adoptatur.
Exeuntium ES6 moduli pk traditionalis CommonJS moduli
proprium | CommonJS | ES6 Modularity |
---|---|---|
Exportare | exports object | export Keywords |
import | require() officium | import Keywords |
loading modus | Synchronise | asynchronous " |
supplicium modus | Singleton | Singleton |
Dependentiae | static | dynamic |
Figura lignum quatientes | non support | auxilium |
loading modus
supplicium modus
Executio modulorum utriusque CommuniJS et ES6 est singleton: modulus semel tantum oneratus, omnesque ad moduli instantias demonstrabunt.
Dependentiae
Figura lignum quatientes
Optimization ars ad codicem insuetum a JavaScript manipulis removendum.
Tribus modis ut ES6 modulorum
"type": "module"
, ita Node.js omnia .js lima ut modulorum ES6 aget..mjs
ita ut Node.js ipso modulo ES6 tractaturus sit.type="module"
AttributesES6 moduli syntaxis
Quisque modulus potest tantum habere unum default export
let a = 1
// 默认导出 a
export default a
// 导入默认时,可以命其他名称
import b from './demo.js'
console.log(b)
Function expressions / anonyma munera directe adhiberi possunt sicut default exportationes
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 '模块名称'
CommuniJS moduli syntaxis
Exportare
module.exports = "朝阳";
import
const demoModule = require("./demo.js");
console.log(demoModule); // 朝阳
Exportare
exports.a = 1;
exports.b = 2;
import
const demoModule = require("./demo.js");
console.log(demoModule); // { a: 1, b: 2 }