TS 中的模块几乎和
ES6
和Node
中的模块一致
Node 模块化请查看 NodeJS:
- 06-Node-Node模块
- 07-Node-Node模块导出数据的几种方式
- 08-Node-exports和module.exports的区别
- 09-Node-require的注意点
webpack 模块化请查看 Webpack4+实现原理:
- 10.ES6-Module
虽然如上我已经出过对应的文章了但是这里我还是简单的进行编写一下利于查看:
ES6 模块
- 分开导入导出
export xxx;
import {xxx} from "path";
- 一次性导入导出
export {xxx, yyy, zzz};
import {xxx, yyy, zzz} from "path";
- 默认导入导出
export default xxx;
import xxx from "path";
Node 模块
方式一:
- 通过 exports.xxx = xxx 导出
- 通过 const xxx = require("path"); 导入
- 通过 const {xx, xx} = require("path"); 导入
方式二:
- 通过 module.exports.xxx = xxx 导出
- 通过 const xxx = require("path"); 导入
- 通过 const {xx, xx} = require("path"); 导入
- ES6 的模块和 Node 的模块是不兼容的, 所以 TS 为了兼容两者就推出了如下的导出和导入的方式:
导出:
export = xxx;
导入:
import xxx = require('path');