模块继承
# 模块继承
模块之间也可以继承。
假设有一个 children
模块,继承自 parent
模块。
// children.js
export * from 'parent';
export var name = 'child';
export function cry() {
// do something
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
如上代码中的 export *
,表示输出 parent
模块的所有模块和方法。然后,如上代码又输出了自定义的 name
属性和默认方法 cry
。
同时,也可以将 parent
的属性或方法,改名后再输出。
// children.js
export { work as job } from 'parent';
1
2
2
上面的代码表示,只输出 parent
模块的 work
方法,并且将其改名为 job
。
加载上面模块的写法如下:
// main.js
import * as child from 'children';
import cry from 'children';
console.log(cry(child.name));
1
2
3
4
5
2
3
4
5
上面的代码中 import cry from children
表示,将 children
模块的默认方法加载为 cry
方法。
上次更新: 2022/07/01, 17:34:19