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

簡介

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

應用場景

一、局域網訪問靜態頁面html

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

二、處理頁面跨域java

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

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

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

如今的項目不少都先後端分離的架構,前端一般會打包dist文件丟到測試或者其餘環境,咱們能夠利用http-server來跑下打包的dist目錄內容,驗證打包的內容是否正確github

安裝

安裝的前置條件npm

由於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

相關文章
相關標籤/搜索