TypeScript-模块系统

  • TS 中的模块几乎和 ES6Node 中的模块一致

Node 模块化请查看 NodeJS

webpack 模块化请查看 Webpack4+实现原理

虽然如上我已经出过对应的文章了但是这里我还是简单的进行编写一下利于查看:

  • 分开导入导出
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');