export
负责导出
import
负责导入
一个文件包含import
或 export
就会被视为一个模块
在不同的ts文件(ts文件没有 import
/ export
的声明)下,声明了同名字的变量,会提示错误,因为两个文件处在全局空间(namespace?),如果此时文件使用了import / export,报错就会消失,因为文件被当作模块管理起来了,之前声明的同名字变量,将成为模块的内部变量。
导出
export let a = 1
export let b = {}
let a = 1
let b = {}
export {a,b}
导出时重命名
export {a as aa, b as bb}
重新导出,用来整合导出?在工具集的index.ts一般会这么写
export * from 'a'
默认导出,一个文件只能有一个默认导出,导入的时候,也不用加{}了
export default a
导入
import {a} from 'a'
导入时重命名
import {a as aa} from 'a'
将模块的所有部分导入到一个变量,通过它来访问其他导出部分
import * as aObj from 'a'
aObj.a
直接导入,这有什么用?
import 'a'
commonjs amd
// a.ts
let a = 1
export = a
// b.ts
import a = require('a')