• 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');