Waarom MJS naar JS converteren?
Mensen converteren .mjs naar gewoon .js om de expliciete ES-module-extensie te laten vallen en het package.json van het project het modulesysteem te laten bepalen, of om CommonJS-output te leveren die oudere Node-versies en tools kunnen laden zonder ESM.
Hoe MJS naar JS te converteren
Hernoemen en package.json type instellen EASIEST
Hernoem het bestand naar .js en voeg "type": "module" toe aan package.json zodat Node het als een ES-module blijft behandelen.
Babel OPEN-SOURCE
Installeer @babel/plugin-transform-modules-commonjs (of @babel/preset-env) en voer babel file.mjs --out-file file.js uit om import/export te herschrijven naar CommonJS require/module.exports.
esbuild OPEN-SOURCE
Voer esbuild file.mjs --format=cjs --platform=node --outfile=file.js uit om een CommonJS .js-bundel te genereren vanuit de ES-module.
Visual Studio Code FREE
Open de .mjs in VS Code, hernoem deze naar .js, en gebruik de editor om import/export-statements handmatig om te zetten voor kleine bestanden.
Over deze formaten
Een .mjs-bestand is JavaScript-broncode die Node.js behandelt als een ECMAScript-module, wat betekent dat het import en export gebruikt in plaats van CommonJS require. De extensie bestaat…
Open .MJS details →Een JS-bestand is een JavaScript-broncodebestand - platte, leesbare tekst die interactiviteit op webpagina's en server-side apps via Node.js aandrijft. Open het in elke code-editor zoals VS…
Open .JS details →Kwaliteit & waar op te letten
- Alleen hernoemen verandert de code niet; als
package.jsonniet is ingesteld op"type": "module", zal ESM-syntaxis in een.js-bestand eenSyntaxErrorveroorzaken. - Transpileren naar CommonJS verandert
import/exportinrequire/module.exportsen kan het gedrag van top-levelawaitenimport.metawijzigen. - Een bundler zoals esbuild kan afhankelijkheden inlinen en commentaren verwijderen, waardoor de resulterende
.jsgeen regel-voor-regel kopie van de bron is.
Veelgestelde vragen
Is `.mjs` hetzelfde als `.js`?
.mjs betekent altijd een ES-module, terwijl .js volgt wat package.json instelt - standaard CommonJS, of ESM als "type": "module" aanwezig is.Kan ik `.mjs` gewoon hernoemen naar `.js`?
package.json "type": "module" heeft. Anders behandelt Node de .js als CommonJS en zal de ESM-syntaxis fouten geven.Hoe behoud ik ESM na het hernoemen?
"type": "module" toe aan uw package.json, of gebruik de .mjs-extensie. Beide vertellen Node om het bestand als een ES-module te parsen.