本文最后更新于:2020-05-03 22:58:03
1.模块的概念
我们可以把一些公共的功能单独抽离成一个文件作为模块。
模块里面的变量,函数,类等默认是私有的,如果我们要在外部访问模块里面的(变量,函数,类),我们需要通过export 暴露出模块里面的(变量,函数,类)。暴露后我们通过 import 引入模块中的(变量,函数,类),这样就可以使用了。
// db.ts
let dbUrl = 'xxxxx';
export function getData:any[]{
console.log('获取数据');
return [
{
title:'123',
name:'哈哈哈哈',
}
]
}
//另一种暴露方式
export {
dbUrl,
getData
}
// export default 默认导出,每个模块都可以有一个default导出,并且每个模块只能有一个default导出。
export default getData;
//引入的时候 import getData from './db/; 没有{}了。
// index.ts
import { getData } from './db';
getData();
// 别名
import { getData as get} from './db';
get();
2.命名空间和模块的区别
- 命名空间:内部模块,主要用于组织代码,避免命名冲突。
- 模块:ts的外部模块的简称,侧重代码的复用,一个模块里可以有多个命名空间。
// 暴露命名空间A
export namespace A{
export function getData:any[]{
console.log('获取数据');
return [
{
title:'123',
name:'哈哈哈哈',
}
]
}
}
// 暴露命名空间B
export namespace B{
export function getData:any[]{
console.log('获取数据');
return [
{
title:'123',
name:'哈哈哈哈',
}
]
}
}
// 内部使用:
A.getData();
B.getData();
// 外部使用 需要给namespace 也暴露出去
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!