【发布时间】:2018-05-30 19:11:21
【问题描述】:
在 ES6-ifying 一些 TypeScript 代码(我正在工作的项目在浏览器和节点服务器中运行,我想对浏览器包进行树摇动),我试图消除对 @987654322 的使用@ 并且只使用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 代码更改为使用import request from 'request';,它实际上可以正常工作...如何强制 TS 编译器接受此代码并直接通过?
【问题讨论】:
标签: node.js typescript es6-modules npm-request