支持 ES6 模块语法以及 CommonJS

Support ES6 module syntax along with CommonJS

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

export default function(){}

如果我不使用 export default,那么 TypeScript 编译器会写一个警告,说我的 "module has no default export",我想避免这种情况。

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

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(){

}