MJS CJS
Konwersja plików

Konwertuj MJS na CJS

SZYBKA ODPOWIEDŹ
Czy możliwa jest konwersja MJS na CJS?
Tak - MJS konwertuje się na CJS.

Plik .mjs używa składni modułów ES, podczas gdy .cjs używa CommonJS. Bundler taki jak esbuild lub Babel automatycznie przepisuje import na require i export na module.exports. Główną przeszkodą jest await na najwyższym poziomie (top-level await), którego CommonJS nie potrafi obsłużyć.

Na tej stronie

Testowane na macOS, Windows i Linux
Ostatnia weryfikacja Sep 2026

Więcej darmowych konwerterów

HEIC, PNG, WEBP, MP3 i inne - każde narzędzie tutaj jest darmowe.

Otwórz przybornik

Dlaczego konwertować MJS na CJS?

Użytkownicy konwertują pliki na .CJS, aby uruchamiać kod w starszych konfiguracjach Node.js lub narzędziach oczekujących CommonJS, albo aby dostarczyć wersję kompatybilną z require obok wersji ESM. Logika pozostaje ta sama; zmienia się tylko sposób łączenia modułów.

Jak przekonwertować MJS na CJS

Babel OPEN-SOURCE

Dodaj @babel/plugin-transform-modules-commonjs do swojej konfiguracji, a następnie uruchom babel input.mjs -o output.cjs, aby przepisać importy na require.

Rollup FREE

Ustaw output.format na cjs w rollup.config.js i zbuduj projekt; Rollup wygeneruje pakiet CommonJS z Twojego pliku wejściowego ESM.

O tych formatach

Jakość i na co uważać

  • Top-level await nie ma odpowiednika w CommonJS i konwersja zakończy się niepowodzeniem.
  • Eksporty nazwane stają się właściwościami module.exports, a współpraca z eksportami domyślnymi (default exports) może się subtelnie różnić.
  • Relatywne ścieżki import oraz import.meta.url mogą wymagać dostosowania dla wyjściowego formatu CommonJS.

Najczęściej zadawane pytania

Czy mogę dokonać konwersji ręcznie?
W przypadku małych plików tak: zamień import x from 'y' na const x = require('y') oraz export na module.exports.
Dlaczego mój proces budowania się nie powiódł?
Najczęściej przyczyną jest top-level await, którego CommonJS nie potrafi wyrazić; przenieś go do wnętrza funkcji asynchronicznej.
Czy muszę zmieniać nazwę na .cjs?
Tak, jeśli Twój package.json ma ustawione "type": "module"; rozszerzenie .cjs wymusza na Node traktowanie pliku jako CommonJS.
Które narzędzie jest najszybsze?
esbuild jest najszybszy dla pojedynczego polecenia; Babel i Rollup dają większą kontrolę nad wynikiem końcowym.