Please enable JavaScript.
Coggle requires JavaScript to display documents.
模块 (命名模块 (模块文件的名称是破折号的,并以小写字母开头: ./my-module.js ./some-func.js,…
模块
命名模块
模块文件的名称是破折号的,并以小写字母开头:
./my-module.js
./some-func.js
命名空间导入的名称是小写的和驼峰式的
import * as myModule from './my-module.js';
默认导入的名称是小写的和驼峰式的
import someFunc from './some-func.js';
在 ES6 之前创建的模块系统
服务器端:CommonJS 模块
专为服务器设计
模块意味着同步加载
紧凑的语法。
客户端:AMD(异步模块定义)模块
专为浏览器设计
模块意味着异步加载。这对于浏览器来说是一个至关重要的要求,代码不能等到模块下载完毕。必须在模块可用时通知它。
语法稍微复杂一些。从好的方面来说,AMD 模块可以直接执行,无需自定义创建和执行源代码(想想eval())。网上并不总是允许这样做
默认导出的两种样式
使用export default标记现有声明:
export default function foo() {} // no semicolon!
export default class Bar {} // no semicolon!
export default不能用于标记const
const可能定义多个值,但export default只需要一个值。
// Not legal JavaScript!
export default const foo = 1, bar = 2, baz = 3;
使用此假设代码,您不知道三个值中的哪一个是默认导出。
直接默认导出值
export default 'abc';
export default foo();
export default { no: false, yes: true };