Qual é o tipo MIME dos arquivos .mjs?
O tipo MIME (tipo de mídia) para arquivos de módulo JavaScript com a extensão .mjs é text/javascript. Você também pode ver application/javascript. O mesmo tipo é usado para .js. A extensão .mjs marca módulos ES no Node.js. Alguns servidores mais antigos não a reconhecem e enviam application/octet-stream, que os navegadores rejeitam em scripts de módulo — adicione o tipo explicitamente.
Header Content-Type
Content-Type: text/javascript; charset=utf-8
Tipos baseados em texto devem incluir um charset para que o navegador decodifique os caracteres corretamente.
Configuração do servidor
| Servidor | Configuração |
|---|---|
Nginx (mime.types ou types {}) | text/javascript mjs; |
Apache (.htaccess) | AddType text/javascript .mjs |
IIS (web.config) | <mimeMap fileExtension=".mjs" mimeType="text/javascript" /> |
| Node.js / Express | res.type('mjs') ou res.setHeader('Content-Type', 'text/javascript; charset=utf-8') |
| Amazon S3 | Defina Content-Type: text/javascript no objeto (metadados) ou passe --content-type text/javascript para aws s3 cp |
Os arquivos .mjs devem ser comprimidos?
Sim. Módulo JavaScript é texto, então ativar gzip ou Brotli para text/javascript normalmente reduz o tamanho da transferência em 50–80 %. Garanta que a lista de compressão do seu servidor inclua esse tipo — verifique com o teste de compressão de site.
Por que o tipo MIME importa
Os navegadores decidem o que fazer com uma resposta — renderizar, executar, reproduzir ou baixar — pelo header Content-Type, não pela extensão do arquivo. Com X-Content-Type-Options: nosniff, um tipo errado faz com que folhas de estilo e scripts sejam bloqueados. Em uploads, nunca confie no tipo enviado pelo cliente; verifique o conteúdo do arquivo (seus magic bytes) no servidor.
Consulta de tipos MIME
Pesquise todas as extensões de arquivo e tipos MIME comuns, com headers Content-Type prontos para copiar.
Perguntas frequentes
Qual é o tipo MIME de .mjs?
text/javascript. Alternativa encontrada na prática: application/javascript.Como definir o Content-Type de .mjs no Nginx?
text/javascript mjs; esteja listado no bloco types (geralmente em /etc/nginx/mime.types) e recarregue o Nginx.