Warum MJS in JS konvertieren?
Nutzer konvertieren .mjs in einfaches .js, um auf die explizite ES-Modul-Endung zu verzichten und die package.json des Projekts über das Modulsystem entscheiden zu lassen, oder um CommonJS-Ausgaben bereitzustellen, die ältere Node-Versionen und Tools ohne ESM laden können.
Wie man MJS in JS konvertiert
Umbenennen und package.json-Typ festlegen EASIEST
Benennen Sie die Datei in .js um und fügen Sie "type": "module" zur package.json hinzu, damit Node sie weiterhin als ES-Modul behandelt.
Babel OPEN-SOURCE
Installieren Sie @babel/plugin-transform-modules-commonjs (oder @babel/preset-env) und führen Sie babel file.mjs --out-file file.js aus, um import/export in CommonJS require/module.exports umzuschreiben.
esbuild OPEN-SOURCE
Führen Sie esbuild file.mjs --format=cjs --platform=node --outfile=file.js aus, um ein CommonJS-.js-Bundle aus dem ES-Modul zu erstellen.
Visual Studio Code FREE
Öffnen Sie die .mjs in VS Code, benennen Sie sie in .js um und konvertieren Sie import/export-Anweisungen bei kleinen Dateien manuell im Editor.
Über diese Formate
Eine .mjs-Datei ist JavaScript-Quellcode, den Node.js als ECMAScript-Modul behandelt. Das bedeutet, dass sie import und export anstelle von CommonJS require verwendet. Die Dateiendung…
.MJS-Details öffnen →Eine JS-Datei ist eine JavaScript-Quellcodedatei - einfacher, lesbarer Text, der die Interaktivität von Webseiten und serverseitige Anwendungen über Node.js steuert. Öffnen Sie sie in einem…
.JS-Details öffnen →Qualität & worauf zu achten ist
- Das bloße Umbenennen ändert den Code nicht; wenn
package.jsonnicht auf"type": "module"eingestellt ist, führt ESM-Syntax in einer.js-Datei zu einemSyntaxError. - Das Transpilieren zu CommonJS ändert
import/exportinrequire/module.exportsund kann das Verhalten von Top-Levelawaitundimport.metabeeinflussen. - Ein Bundler wie esbuild kann Abhängigkeiten inline einfügen und Kommentare entfernen, sodass die ausgegebene
.js-Datei keine zeilengetreue Kopie der Quelle ist.
Häufig gestellte Fragen
Ist `.mjs` dasselbe wie `.js`?
.mjs bedeutet immer ein ES-Modul, während .js den Einstellungen der package.json folgt - standardmäßig CommonJS oder ESM, wenn "type": "module" vorhanden ist.Kann ich `.mjs` einfach in `.js` umbenennen?
package.json "type": "module" enthält. Andernfalls behandelt Node die .js als CommonJS und die ESM-Syntax verursacht Fehler.Wie behalte ich ESM nach dem Umbenennen bei?
"type": "module" zu Ihrer package.json hinzu oder verwenden Sie die Endung .mjs. Beides weist Node an, die Datei als ES-Modul zu parsen.