Hva er MJS-filformatet?
En .mjs-fil er JavaScript-kildekode som Node.js laster som en ECMAScript-modul (ESM). Filendelsen er et signal: enhver fil som slutter på .mjs behandles som en ES-modul, ved bruk av import- og export-setninger, selv når prosjektets package.json ikke sier noe om modultype.
Node.js la til filendelsen i versjon 8.5.0 (2017), først bak flagget --experimental-modules, og gjorde den stabil i versjon 12. Den eksisterer for å holde to modulsystemer fra hverandre. Eldre Node-kode bruker CommonJS med require() og module.exports, mens moderne kode bruker ESM. En vanlig .js-fil er CommonJS som standard, så .mjs gir en entydig måte å velge moduler på. Den tilsvarende .cjs-endelsen tvinger CommonJS i den andre retningen.
Kode i en .mjs-fil kjører automatisk i «strict mode» og kan bruke await på toppnivå og import.meta-objektet, noe som ingen av delene fungerer i CommonJS. Bundlere som webpack, Rollup og Vite både leser og skriver .mjs.
Sikkerhet og trygghet
RISIKO: MEDIUMAn .mjs file is executable JavaScript. Running one with node executes whatever code it contains, so an untrusted .mjs file can perform harmful actions such as reading files or making network requests. Opening it in a text editor is safe; only run .mjs files from sources you trust, and review the code first.
Formatdetaljer
i et nøtteskall- Generic minified JavaScript module - Some build tools emit .mjs to mark a bundled or minified ES module output rather than a hand-written source file.
Programmer som åpner MJS-filer
Tekniske detaljer
dyp spesifikasjon| Encoding | UTF-8 plain text |
| Byte order | Not applicable (text file, no byte-order dependence; BOM optional but discouraged) |
| Container | None; raw JavaScript source |
| Typical size | A few hundred bytes to tens of kilobytes per module |
| Structure | Human-readable JavaScript source using the ECMAScript module system. Uses static import and export statements, supports top-level await and import.meta, and runs in strict mode by default. Each .mjs file is a module with its own top-level scope; variables are not shared globally. |
| Integrity | None built in; integrity is handled externally (npm package hashes, Subresource Integrity on the web, git). |
| Platforms | Windows, macOS, Linux, BSD, any OS running Node.js or a modern browser |
| Notes | Node.js treats any .mjs file as an ES module regardless of the package.json "type" field, which is the main reason the extension exists. The counterpart .cjs forces CommonJS. Browsers can also load .mjs via <script type="module"> provided the server sends a JavaScript MIME type. Bundlers such as webpack, Rollup, esbuild and Vite read and emit .mjs. |
| Runs In | Node.js runtime and modern web browsers (via script type=module) |
| Strict Mode | Always enabled; ES modules run in strict mode automatically |
| Utgitt | 2017 (Node.js v8.5.0) |
| Siste versjon | ECMAScript 2015 module system (stabilized in Node.js v12+) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | nodejs.org |
MJS-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om MJS-filer.