Skip to content

http-server 常用命令

http-server 是一个简单的零配置命令行 HTTP 服务器,用于本地快速启动一个静态文件服务器。

安装

bash
# 全局安装
npm install -g http-server

# 或使用 npx(无需安装)
npx http-server

常用命令

启动服务器

bash
# 在当前目录启动
http-server

# 指定目录
http-server ./dist

# 指定端口
http-server -p 3000

# 指定主机(局域网可访问)
http-server -a 0.0.0.0

# 同时指定端口和主机
http-server -a 0.0.0.0 -p 3000

常用参数

bash
# 自动打开浏览器
http-server -o

# 禁用缓存(开发时有用)
http-server -c-1

# 启用 HTTPS
http-server -S -C cert.pem -K key.pem

# 显示目录列表
http-server -l

# 指定默认文件
http-server -i index.html

参数说明:

参数说明什么时候用
-o自动打开浏览器开发时省去手动打开浏览器的步骤
-c-1禁用浏览器缓存确保每次刷新都能看到最新的文件内容,避免改了代码但浏览器还在用旧缓存的问题
-S启用 HTTPSService Worker、摄像头/麦克风等 Web API 要求 HTTPS 环境才能运行。本地开发时用自签名证书启用 HTTPS,可以提前测试这些功能
-l显示目录列表快速共享某个目录下的文件给同事,开启目录列表后可以在浏览器中浏览和下载文件
-i指定默认文件访问目录时默认打开的文件,通常是 index.html

组合使用

bash
# 开发常用:无缓存 + 自动打开浏览器 + 指定端口
http-server ./dist -c-1 -o -p 8080

# 局域网共享:允许外部访问
http-server -a 0.0.0.0 -p 8080

使用场景

预览构建产物

bash
# 构建后快速预览
npm run build
http-server ./dist -p 4173

本地分享文件

bash
# 在某个目录启动服务器,局域网内其他设备可访问
cd ~/Documents/shared
http-server -a 0.0.0.0 -p 8080

测试 Service Worker

Service Worker 需要 HTTPS 或 localhost,http-server 默认满足条件。

常见问题

端口被占用

bash
# 查看占用端口的进程(Windows)
netstat -ano | findstr :8080

# 查看占用端口的进程(macOS/Linux)
lsof -i :8080

# 使用其他端口
http-server -p 3000

跨域问题

bash
# 设置 CORS 头
http-server --cors

参考

个人学习笔记,部分内容借助 AI 辅助整理,仅供查阅参考,请以官方文档为准