模块:
ts模块的导出与导入是基于es6语法的,但是也有部分不同
导出:
1.任何声明(比如变量,函数,类,类型别名或接口)都能够通过添加export关键字来导出
2.导出部分重命名

3.一个模块可以包含多个模块,并将他们的内容联合导出

导入:
import momentfrom 'moment'
import *as monentfrom 'moment'
import name =require("moment")

export = 和 import = require():
export= 类似于export default,在一个文件或模块中只能有一个。二者配套使用

命名空间:
基本用法:
/// <reference path="..." />指令是三斜线指令中最常见的一种。 它用于声明文件间的 依赖。
三斜线引用告诉编译器在编译过程中要引入的额外的文件。

使用tsc --outFile src/index.js src/index.ts 编译得到下列代码

命名空间的别名(import关键字)

ts.config.json中的几个相关选项
"moduleResolution": "node" 或 "classic" 模块解析策略
如果模块解析策略选项没有配置,会根据module的值来判断
"module": "commonjs", //system amd es2015为classic方式,其余为node方式
classic:会逐级向上找 a.ts / a.d.ts
node:会逐级向上找a.js
"baseUrl": "./", //要求运行的时候模块都放到某个文件夹里,构建工具会将所有模块放在一起,
"paths": {}, //路径映射
网友评论