In ES6-wenn ich etwas TypeScript-Code schreibe (das Projekt läuft sowohl im Browser als auch auf einem Node-Server, möchte ich das Browser-Bundle schütteln) Ich versuche, die Verwendung von require
zu eliminieren und verwende nur import
. Aber wenn ich dies tun ...Wie man den ES6-Import mit 'request' npm-Modul verwendet
import * as request from 'request';
und anschließend request()
nennen, ich Laufzeitfehler in Knoten erhalten (nach babel mit dem Code ES5 zu machen, und damit Knoten kompatibel):
TypeError: request is not a function
Auf der anderen Seite, wenn ich dies tun:
import request from 'request';
dann das Typoskript Compiler beschwert mit
error TS1192: Module '"<mypath>/node_modules/@types/request/index"' has no default export.
Wenn ich manuell die kompilierte JS-Code ändern import request from 'request';
zu verwenden, es tatsächlich funktioniert gut ... wie kann ich den TS-Compiler zwingen diesen Code zu übernehmen und es nur passieren durch?
https://stackoverflow.com/questions/35706164 –