支持ES6模块语法和CommonJS

所以我有这个简单的模块:

export default function(){} 

如果我不使用export default ,那么TypeScript编译器会写一个警告,说我的“模块没有默认导出”,我想避免。

所以要使用这个模块,我们会这样做:

 import fn from 'my-module'; 

这一切都很好,但如果我想使用CommonJS导入它呢?

那么我必须这样做:

 const fn = require('my-module').default; 

这对用户来说很尴尬。 有没有办法解决?

有等价的:

 import tscmultiwatch from 'tsc-multi-watch'; const {default:tscmultiwatch} = require('tsc-multi-watch'); 

这样你可以避免不那么愉快:

 const tscmultiwatch = require('tsc-multi-watch').default; 

而tsc-multi-watch可能看起来像

 export default function(){ }