簡單的零配置命令行 http 服務器--http-server入門


簡介

http-server是一個簡單的零配置命令行http服務器。 它足夠強大,足以用於生產用途,但它既簡單又易於破解,可用於測試,本地開發和學習

應用場景

1、局域網訪問靜態頁面

訪問本地計算機中的文件都是基於file協議,如果要開放我們的本地文件給局域網人員訪問,是不能使用file協議。得用http協議或者ftp協議。而基於http協議的http-server就是一個不錯的選擇

2、處理頁面跨域

當頁面含有跨域的請求,此時可以利用http-server,使用命令

http-server -p 8080 -P https://abc.org
//-p 本地運行端口  -P 將所有無法在本地解析的請求代理到給定的URL進行處理

3、驗證前端頁面是否打包正常

現在的項目很多都前后端分離的架構,前端通常會打包dist文件丟到測試或者其他環境,我們可以利用http-server來跑下打包的dist目錄內容,驗證打包的內容是否正確

安裝

安裝的前置條件

因為http-server依賴node.js,因此在安裝之前,請確保安裝的環境已經裝有node.js。可以通過命令

node -v

驗證是否已經安裝node.js
node.js安裝驗證.png

通過npm進行安裝

npm install http-server -g

注: 如果在安裝過程中,發現安裝太慢,可以先配置淘寶鏡像,再進行安裝。配置鏡像的命令如下

npm config set registry https://registry.npm.taobao.org

配置后可通過下面方式來驗證是否成功

npm config get registry

用法

 http-server [path] [options]
 path就是你當前運行該命令下對應的某個文件夾名稱

可用選項

  • -p或--port要使用的端口(默認為8080)
  • -a 要使用的地址(默認為0.0.0.0)
  • -d顯示目錄列表(默認為true)
  • -i顯示autoIndex(默認為true)
  • -g或者--gzip當啟用(默認為false)時,它將./public/some-file.js.gz代替./public/some-file.js當文件的gzip壓縮版本存在且請求接受gzip編碼時。
  • -e或者--ext如果沒有提供默認文件擴展名(默認為html)
  • -s或者--silent從輸出中抑制日志消息
  • --cors通過Access-Control-Allow-Origin標頭啟用CORS
  • -o 啟動服務器后打開瀏覽器窗口
  • -c設置緩存控制max-age標頭的緩存時間(以秒為單位),例如-c1010秒(默認為3600)。要禁用緩存,請使用-c-1。
  • -U或--utc在日志消息中使用UTC時間格式。
  • -P或者將--proxy所有無法在本地解析的請求代理到給定的URL。例如:-P http://someurl.com
  • -S或--ssl啟用https。
  • -C或--certssl cert文件的路徑(默認值:) cert.pem。
  • -K或--keyssl密鑰文件的路徑(默認值:) key.pem。
  • -r或--robots提供/robots.txt(其內容默認為User-agent: *\nDisallow: /)
  • -h或--help打印此列表並退出。

示例

進入目標文件夾,輸入hs或者http-server命令,不過推薦使用如下命令

http-server -c-1

只輸入http-server的話,更新了代碼后,頁面不會同步更新。

示例.png
示例.png
示例.png

總結

http-server可以做靜態資源服務器,也可以做調試、測試的前端服務器。甚至可以用於實現前后端分離。還沒有使用過的朋友,可以嘗鮮下

官方文檔

https://github.com/http-party/http-server


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM