TypeScript-CommonJS兼容模块
小开开 2020-12-03 17:17:54 2020-12-03 114 0
语法扩展
在 Nodejs(CommonJS)中导出模块,只需要将导出对象赋值给 module.exports
即可,而 TypeScript 的模块系统采用的是ES6的 export
语法,两者并不兼容。为了支持 CommonJS
的模块系统,TypeScript增加了支持语法:
// CommonJS 导出export = 模块导出// CommonJS 导入import 名字 = require(模块)
当你在 TypeScript 代码中采用
export =
导出语法时,编译选项module
必须设置为commonjs
或amd
let myobj = { a: 1, b: 2};export = myobj;
export =
相当于默认导出 export default
,因而该语法在一个模块中只能出现一次:
let myobj = { a: 1, b: 2};export = myobj;// 错误,默认导出只能存在一个// error TS2300: Duplicate identifier 'export='export = {};
若使用 export =
导出一个模块,则必须使用 import 名字 = require(模块)
来导入此模块:
// a.tsexport = {a: 1};// b.tsimport b = require('./a');
- 作者:joye
- 出处:https://github.com/joye61