1.全局模块
const foo = 123//在没有导出模块的情况下,foo变量为全局变量,在别的ts文件中可以直接访问该变量
2.文件模块
如果在TypeScript 文件的根级别位置含有 import 或者 export,它会在这个文件中创建一个本地的作用域。
注意,只有 function、class 和 interface 可以直接默认导出,其他的变量需要先定义出来,再默认导出。
export const foo = 123; //导出import { foo } from './foo'; //引入const bar = foo; // allow
3.Es模块语法
在 ES6 模块系统中,使用 export default 可以导出一个默认值,使用方可以用 import foo from 'foo' 而不是 import { foo } from 'foo' 来导入这个默认值。
1.导出
1.export const someVar = 123;export type someType = {foo: string;};2.推荐使用一个export导出!!!const someVar = 123;type someType = {type: string;};export { someVar, someType };3.重命名导出const someVar = 123;export { someVar as aDifferentName };4.默认导出export default (someVar = 123);export default function someFunction() {}export default class someClass {}
2.导入
1.import { someVar, someType } from './foo';2.重命名导入import { someVar as aDifferentName } from './foo';3.推荐使用整体导入!!!import * as foo from './foo';// 你可以使用 `foo.someVar` 和 `foo.someType` 以及其他任何从 `foo` 导出的变量或者类型4.导入模块import 'core-js'; // 一个普通的 polyfill 库5.默认导入在默认导出的模块 export default foo导入时,需要默认导入import foo from './'相当于 import{default as foo} from './'
