TypeScriptKonfiguracja tsconfig
"esModuleInterop"
Ułatwia importowanie pakietów CommonJS składnią modułów ES.
Przykład
#JSON
{
"compilerOptions": {
"esModuleInterop": true,
"module": "CommonJS"
}
}Definicja i zastosowanie
#Wiele starszych pakietów npm jest napisanych w CommonJS (module.exports = …). Opcja esModuleInterop pozwala importować je zwykłą składnią import express from "express", zamiast import * as express from "express".
Kompilator dodaje wtedy do wygenerowanego kodu drobne funkcje pomocnicze, które zachowują się tak jak bundlery i Node.js przy łączeniu obu systemów modułów.
Włączenie esModuleInterop automatycznie włącza też allowSyntheticDefaultImports, które pozwala na import domyślny z modułu bez eksportu domyślnego na etapie sprawdzania typów.
Składnia
#Składnia
"esModuleInterop": trueWięcej przykładów
#TypeScript
// z esModuleInterop
import express from 'express'
// bez esModuleInterop trzeba było pisać:
// import * as express from 'express'Dobre praktyki
#- W nowych projektach zostaw
esModuleInteropwłączone. To ustawienie domyślne w szablonachtsc --init. - Jeśli import domyślny zwraca
undefinedw działaniu, sprawdź tę opcję i format modułów pakietu.
Powiązane hasła
#Widzisz błąd albo brakuje przykładu? Napisz do nas.