簡單的零配置命令http伺服器:http-server入門

千鋒Python唐小強發表於2020-07-14

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

簡單的零配置命令http伺服器:http-server入門

透過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
  • -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的話,更新了程式碼後,頁面不會同步更新。

簡單的零配置命令http伺服器:http-server入門

簡單的零配置命令http伺服器:http-server入門

簡單的零配置命令http伺服器:http-server入門

總結

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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69923331/viewspace-2704521/,如需轉載,請註明出處,否則將追究法律責任。

相關文章