Dlaczego konwertować MJS na TS?
Programiści konwertują .mjs na .ts, aby uzyskać statyczne sprawdzanie typów i autouzupełnianie w edytorze, zachowując tę samą strukturę modułów ES, którą już napisali.
Jak przekonwertować MJS na TS
Zmiana nazwy na .ts / .mts EASIEST
Zmień nazwę pliku na .ts (lub .mts, aby wymusić wyjście ESM); instrukcje import/export działają bez zmian, a typy można dodawać przyrostowo.
Kompilator TypeScript (tsc) OPEN-SOURCE
Ustaw "allowJs": true w tsconfig.json, a następnie uruchom tsc, aby sprawdzić typy i wygenerować JavaScript; zaostrz regułę strict po rozwiązaniu błędów.
Visual Studio Code FREE
Otwórz plik o zmienionej nazwie .ts w VS Code; jego wbudowana usługa TypeScript wskaże brakujące typy i zaproponuje szybkie poprawki w celu dodania adnotacji.
esbuild OPEN-SOURCE
Uruchom esbuild file.ts --outfile=file.js, aby szybko usunąć typy na potrzeby kompilacji, choć esbuild nie wykonuje sprawdzania typów.
O tych formatach
Plik .mjs to kod źródłowy JavaScript, który Node.js traktuje jako moduł ECMAScript, co oznacza, że używa on import i export zamiast CommonJS require. Rozszerzenie to istnieje, aby Node mógł…
Otwórz szczegóły .MJS →Plik .ts to MPEG Transport Stream - format kontenera wideo pochodzący z telewizji cyfrowej, nagrań PVR, kamer AVCHD i strumieniowania HLS. VLC media player otwiera go na każdym systemie…
Otwórz szczegóły .TS →Jakość i na co uważać
- Zmiana nazwy sprawia, że plik staje się poprawnym TS, ale nie zyskujesz realnego bezpieczeństwa, dopóki nie dodasz adnotacji i nie włączysz sprawdzeń
strict. tsczgłasza błędy typów, które zwykły JavaScript ignorował, więc może być konieczna naprawa niejawnych typówanyi nietypowanych importów.- esbuild transpiluje kod bez sprawdzania typów, więc używaj
tsc --noEmitrównolegle z nim, aby faktycznie wyłapać błędy typów.
Najczęściej zadawane pytania
Czy `.mjs` to poprawny TypeScript?
.mjs o zmienionej nazwie kompiluje się jako .ts nawet przed dodaniem jakichkolwiek adnotacji typów.Czy powinienem używać `.ts` czy `.mts`?
.mts, gdy chcesz, aby wynik zawsze pozostał modułem ES, niezależnie od package.json. Używaj .ts i pozwól decydować ustawieniom tsconfig.json oraz typowi pakietu.Czy moje importy nadal będą działać?
import/export przechodzi bez zmian do TypeScript. Dodajesz jedynie informacje o typach na jej podstawie.Jak uruchomić wynikowy TypeScript?
tsc do JavaScript i uruchom ten plik lub użyj narzędzia typu tsx lub ts-node, które transpiluje kod w locie.