在 ES6-ifying 一些 TypeScript 代码(我正在工作的项目在浏览器和节点服务器中运行,我想对浏览器包进行树摇动),我试图消除使用require
并且只使用import
. 但是当我这样做时...
import * as request from 'request';
然后调用request()
,我在 Node 中遇到运行时错误(在使用 babel 使代码 ES5 和 Node 兼容之后):
TypeError: request is not a function
另一方面,如果我这样做:
import request from 'request';
然后 TypeScript 编译器抱怨
error TS1192: Module '"<mypath>/node_modules/@types/request/index"' has no default export.
如果我手动将编译后的 JS 代码更改为 use import request from 'request';
,它实际上工作正常......我如何强制 TS 编译器接受此代码并通过它?