简介
stanleyshen-anydoor
是一个基于 Node.js 的静态文件服务器,可以方便地在本地或内网中快速搭建一个支持跨域请求的静态资源服务器。
安装
安装 stanleyshen-anydoor
可以通过 npm 安装,执行以下命令:
npm install -g stanleyshen-anydoor
安装完成后,在命令行输入 anydoor
即可启动服务器。
使用
命令行参数
使用 anydoor
启动服务器时可以在命令行传入参数,如下:
anydoor --port=3000 --host=localhost --root=/path/to/folder
参数说明:
port
是服务器监听的端口,默认是3000
;host
是服务器监听的地址,默认是localhost
,也可以传入 IP 地址;root
是服务器的根目录,默认为当前执行命令的目录(也就是命令行所在的目录)。
API
除了通过命令行参数控制服务器,还可以通过 API 调用启动服务器:
const anydoor = require('stanleyshen-anydoor'); // 参数说明同命令行参数 anydoor({ port: 3000, root: '/path/to/folder' });
高级特性
路径解析
anydoor
在读取文件时,支持解析路径为 URL 中带的查询参数,例如:
# 请求路径是 /view?path=/path/to/folder/index.html http://localhost:3000/view?path=/path/to/folder/index.html # 请求路径是 /view?path=/path/to/folder&filename=index.html http://localhost:3000/view?path=/path/to/folder&filename=index.html
这样就可以通过 URL 的查询参数指定读取哪个文件。
跨域支持
anydoor
也可以配置支持跨域请求,例如:
# 允许来自 http://localhost:8080 的跨域访问 anydoor --cors=true --corsOrigin=http://localhost:8080
上面的命令配置服务器支持跨域请求,只允许来自 http://localhost:8080
的请求。
示例代码
const anydoor = require('stanleyshen-anydoor'); // API 调用 anydoor({ port: 3000, root: '/path/to/folder' }); // 命令行参数调用 // anydoor --port=3000 --host=localhost --root=/path/to/folder
结语
stanleyshen-anydoor
是一个十分简单实用的 Node.js 静态文件服务器,使用方便且功能强大,对于开发调试来说十分实用。希望本文对大家有所帮助,谢谢。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005739e81e8991b448e9957