介绍
fam-server 是一个基于 Node.js 的轻量级静态文件服务器。它提供了简洁、易用、高效的文件服务功能,可以方便地在开发、调试、部署过程中使用。
使用 fam-server 可以快速地搭建本地的静态文件服务器,以提供 web 服务。它支持基本的文件服务功能,例如文件读取、请求处理、路由解析、静态资源服务器等。同时也支持自定义路由、过滤器等高级功能。
fam-server 的特点还包括:
- 支持多种 HTTP 请求方法,如 GET、POST、PUT、DELETE 等
- 支持 HTTP 响应状态码和响应头设置
- 支持 gzip 压缩
- 支持缓存控制,包括强制缓存、协商缓存
- 支持跨域资源共享 (CORS)
- 支持自定义路由
- 支持过滤器
安装
在使用 fam-server 之前,需确保已经安装了 Node.js 环境。安装方法请参考 Node.js 官网。
安装命令如下:
npm install -g fam-server
使用方法
基本用法
在命令行中使用 fam-server
命令即可启动 fam-server。
fam-server
缺省情况下,fam-server 将会启动在 8080 端口,并将当前目录作为根目录启动服务。
通过浏览器访问 http://localhost:8080
,就可以看到 fam-server 的欢迎页面。
自定义端口
启动服务时,可以通过 -p
参数指定服务监听的端口号。
fam-server -p 3000
上述命令将会启动一个监听在 3000 端口的服务器。
自定义根目录
启动服务时,可以通过 -r
参数指定服务的根目录。
fam-server -r /path/to/root
上述命令将会启动一个以 /path/to/root
为根目录的服务器。
自定义路由
在 fam-server 中,可以通过自定义路由的方式,定制 HTTP 请求的响应。通过修改 routes.js
文件中的路由定义,即可实现自定义路由功能。
以下是一个简单的路由定义示例:
-- -------------------- ---- ------- -------------- - - -- ------ --------- -------- --------- --------- - -------------------- -------- -- -- ---- ------------ -------- --------- --------- ------- - -------------------- - - ----------- -- -- ----- ---- -------- --------- --------- - --------------------- - --
上述示例定义了三个路由:
/hello
:返回“Hello World”字符串/user/:id
:返回“User: id”字符串,其中 id 为路由参数*
:通配符路由,匹配所有未被其他路由匹配的请求,返回“404”字符串
路由参数和通配符路由的使用方法可参考 路由参数和通配符路由。
自定义过滤器
在 fam-server 中,可以通过自定义过滤器的方式,定制 HTTP 请求的处理过程。通过修改 filters.js
文件中的过滤器定义,即可实现自定义过滤器功能。
以下是一个简单的过滤器定义示例:
-- -------------------- ---- ------- -------------- - - -- ----- -------- --------- --------- ----- - ----------------------- --------------- ------------- ------- -- -- -------- -------- --------- --------- ----- - -- ------------------------ - ------------------------------------------------- ----- -------------------------------------------------- -------------- -------------- ------------------- -------------------------------------------------- ----- ----- ---- ------- ---------- -------------------------------------------- --------- -- -- ----- - ------- - --
上述示例定义了两个过滤器函数:
- 第一个过滤器函数,将会在每个请求处理前被调用,输出当前请求的方法和 URL。
- 第二个过滤器函数,将会在每个请求处理前被调用,添加跨域资源共享 (CORS) 相关的响应头信息。
过滤器函数的实现和使用方法可参考 自定义过滤器。
示例代码
以下是一个简单的示例代码,可以使用 fam-server 根目录下的 index.html
文件作为测试文件:
-- -------------------- ---- ------- --------- ----- ----- ---------- ------ ----- ---------------- ----------------- ------------ ------- ------ ---------- ----------- ------- ---------- ---------- ------- -------
启动服务时,建议使用 -c
参数以禁用缓存功能,方便调试。
fam-server -c
访问 http://localhost:8080
,即可看到 fam-server 的欢迎页面。
访问 http://localhost:8080/index.html
,即可看到上述示例代码的效果。
总结
fam-server 是一个轻量、易用的静态文件服务器,具有基本的文件服务功能、自定义路由和过滤器等高级功能。使用 fam-server 可以方便地搭建本地的 web 服务,加速开发、调试和部署的过程。
在使用 fam-server 时,可以根据需要修改路由定义和过滤器定义,并通过 -p
、-r
等参数来个性化配置 fam-server 服务器。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055b7981e8991b448d8fcd