跳到主要内容

本地文件服务

· 阅读需 2 分钟

平时在本地调试静态页面、下载文件、移动端真机联调(同一局域网)时,经常需要“临时起一个静态文件服务器”。这里整理两种最常用方式:

  • Python 内置模块:http.server
  • Node.js 第三方工具:http-server

Python:http.server

1) 在某个目录下启动

进入要分享的目录(静态资源所在目录):

cd /path/to/your/static
python -m http.server

默认:

  • 监听端口:8000
  • 绑定地址:0.0.0.0(在很多环境下等价于允许外部访问;具体取决于系统与防火墙设置)

访问:

  • 本机:http://127.0.0.1:8000/
  • 局域网:http://<你的局域网IP>:8000/

2) 指定端口

python -m http.server 8080

3) 指定绑定地址(推荐用于跨设备访问)

如果你要让同一局域网的手机/其他电脑访问,建议显式绑定到 0.0.0.0

python -m http.server 8000 --bind 0.0.0.0

也可以仅绑定到本机回环(更安全,只允许本机访问):

python -m http.server 8000 --bind 127.0.0.1

4) 指定服务目录

Python 3.7+ 支持 --directory

python -m http.server 8000 --directory /path/to/your/static

Node.js:http-server

http-server 是一个非常常用的静态文件服务器 CLI 工具,功能比 python -m http.server 更“贴近前端场景”,例如:更方便配置 CORS、SPA fallback、禁用缓存等。

1) 一次性使用(推荐)

npx 不需要全局安装:

npx http-server .

2) 全局安装

npm i -g http-server
# 或 pnpm
pnpm add -g http-server

安装后在目标目录运行:

http-server .

3) 常用参数

指定端口

http-server . -p 8080

指定地址

http-server . -a 0.0.0.0 -p 8080

禁用缓存

http-server . -c-1

-c 用于设置缓存时间(秒)。-c-1 表示禁用缓存。

启用 CORS

当前端页面要请求别的域(或你在本地用文件服务模拟接口)时经常需要:

http-server . --cors

自动打开浏览器

http-server . -o

参考资料