欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在Node.js中設(shè)置響應(yīng)的MIME類型的代碼詳解

 更新時(shí)間:2025年04月21日 08:34:36   作者:前端涂涂  
在 Node.js 中設(shè)置響應(yīng)的 MIME 類型是為了讓瀏覽器正確解析服務(wù)器返回的內(nèi)容,比如 HTML、CSS、圖片、JSON 等,我們通常通過設(shè)置響應(yīng)頭中的 Content-Type 字段來完成,本文就給大家詳細(xì)介紹了在Node.js中設(shè)置響應(yīng)的MIME類型的方法,需要的朋友可以參考下

一、什么是 MIME 類型(Content-Type)?

MIME(Multipurpose Internet Mail Extensions)類型用于告訴瀏覽器或客戶端:返回的數(shù)據(jù)是什么類型的內(nèi)容

例如:

  • text/html:HTML 文件
  • application/json:JSON 數(shù)據(jù)
  • text/css:CSS 樣式表
  • image/png:PNG 圖片

二、手動(dòng)設(shè)置 MIME 類型示例

const http = require('http');
const fs = require('fs');
const path = require('path');

// 常見擴(kuò)展名與 MIME 類型的映射表
const mimeTypes = {
  '.html': 'text/html',
  '.css':  'text/css',
  '.js':   'application/javascript',
  '.json': 'application/json',
  '.png':  'image/png',
  '.jpg':  'image/jpeg',
  '.gif':  'image/gif',
  '.svg':  'image/svg+xml',
  '.ico':  'image/x-icon',
  '.txt':  'text/plain',
};

const server = http.createServer((req, res) => {
  let filePath = '.' + (req.url === '/' ? '/index.html' : req.url);
  let ext = path.extname(filePath);

  // 默認(rèn) MIME 類型
  let contentType = mimeTypes[ext] || 'application/octet-stream';

  fs.readFile(filePath, (err, data) => {
    if (err) {
      res.writeHead(404, { 'Content-Type': 'text/plain' });
      return res.end('404 Not Found');
    }

    res.writeHead(200, { 'Content-Type': contentType });
    res.end(data);
  });
});

server.listen(3000, () => {
  console.log('Server running on http://localhost:3000');
});

三、使用第三方模塊 mime

如果你不想維護(hù) MIME 映射表,可以使用官方推薦的 mime 模塊。

安裝:

npm install mime

使用:

const mime = require('mime');
const filePath = 'public/style.css';
const contentType = mime.getType(filePath); // 返回 'text/css'

常用 MIME 類型一覽

擴(kuò)展名MIME 類型
.htmltext/html
.csstext/css
.jsapplication/javascript
.jsonapplication/json
.pngimage/png
.jpgimage/jpeg
.gifimage/gif
.svgimage/svg+xml
.txttext/plain
.pdfapplication/pdf

四、注意事項(xiàng)

  • Content-Type告訴瀏覽器怎么處理數(shù)據(jù)的關(guān)鍵;
  • MIME 類型必須與實(shí)際資源類型匹配,否則瀏覽器可能拒絕渲染或報(bào)錯(cuò);
  • 若未設(shè)置 Content-Type,瀏覽器可能會(huì)猜測類型,但這不安全;
  • 返回 JSON 時(shí)推薦:
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ message: 'hello' }));

到此這篇關(guān)于在Node.js中設(shè)置響應(yīng)的MIME類型的代碼詳解的文章就介紹到這了,更多相關(guān)Node.js設(shè)置MIME類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于NodeJS中的循環(huán)引用詳解

    關(guān)于NodeJS中的循環(huán)引用詳解

    這篇文章主要給大家介紹了關(guān)于NodeJS中的循環(huán)引用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用NodeJS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Node.js的cross-env工具包使用介紹

    Node.js的cross-env工具包使用介紹

    這篇文章主要為大家介紹了Node.js的cross-env工具包使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Node.js使用Playwright自動(dòng)化測試頁面性能

    Node.js使用Playwright自動(dòng)化測試頁面性能

    對于現(xiàn)在的網(wǎng)站而言,性能的重要性不言而喻,本文將使用Playwright自動(dòng)化測試頁面性能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • 詳解從NodeJS搭建中間層再談前后端分離

    詳解從NodeJS搭建中間層再談前后端分離

    這篇文章主要介紹了詳解從NodeJS搭建中間層再談前后端分離,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • nodejs中使用monk訪問mongodb

    nodejs中使用monk訪問mongodb

    最近在做nodejs的web開發(fā),初次接觸到mongoDB這個(gè)數(shù)據(jù)庫。分享點(diǎn)使用經(jīng)驗(yàn)
    2014-07-07
  • 實(shí)現(xiàn)一個(gè)完整的Node.js RESTful API的示例

    實(shí)現(xiàn)一個(gè)完整的Node.js RESTful API的示例

    本篇文章主要介紹了實(shí)現(xiàn)一個(gè)完整的Node.js RESTful API的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • nodejs實(shí)現(xiàn)發(fā)送郵箱驗(yàn)證碼功能

    nodejs實(shí)現(xiàn)發(fā)送郵箱驗(yàn)證碼功能

    這篇文章主要為大家詳細(xì)介紹了nodejs實(shí)現(xiàn)發(fā)送郵箱驗(yàn)證碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 5分鐘教你用nodeJS手寫一個(gè)mock數(shù)據(jù)服務(wù)器的方法

    5分鐘教你用nodeJS手寫一個(gè)mock數(shù)據(jù)服務(wù)器的方法

    這篇文章主要介紹了5分鐘教你用nodeJS手寫一個(gè)mock數(shù)據(jù)服務(wù)器的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 深入理解Node.js中的進(jìn)程管理

    深入理解Node.js中的進(jìn)程管理

    這篇文章主要介紹了Node.js中進(jìn)程管理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),相信對大家的學(xué)習(xí)或者工作具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • Node.JS如何實(shí)現(xiàn)JWT原理

    Node.JS如何實(shí)現(xiàn)JWT原理

    jwt是json web token的簡稱,本文介紹它的原理,最后后端用nodejs自己實(shí)現(xiàn)如何為客戶端生成令牌token和校驗(yàn)token
    2020-09-09

最新評論