fix: type error while esModuleInterop is true #3436
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Checklist
npm test
passesAffected core subsystem(s)
Description of change
当 tsconfig.json 中配置
"esModuleInterop": true
后 tsc 编译的时候会报这个错原因是 import KoaApplication 是这么写的
而 koa 中用的是
export = Application
这种 commonjs 的声明暴露方式,遇到 esModuleInterop 会有问题,所以改成针对这种 export 方式的,又需要用到默认 export 出来的类型的,都用import XX = require('xxx')
的方式来兼容。