简介
在开发前端应用的过程中,我们通常需要搭建一个静态服务器来方便我们本地测试,这个时候,我们可以使用 egg-static-server 这个 npm 包,它可以让我们快速地搭建一个静态服务器,并支持一些常用的功能,比如支持缓存,同时我们也可以自定义路由和中间件来满足我们的需求。
安装
在命令行窗口中输入以下命令来安装 egg-static-server:
npm i egg-static-server --save-dev
配置
在 config/plugin.js
中添加以下内容:
exports.static = { enable: true, package: 'egg-static-server' };
然后在 config/config.default.js
中添加以下内容:
exports.static = { dir: 'app/public', // 静态资源目录 prefix: '/public/', // 静态资源访问的路径前缀 dynamic: true, // 是否支持动态请求,默认为 true,如果为 false,则只支持静态请求 preload: false, // 是否启用预加载,默认为 false,如果为 true,则会在启动时预先将所有文件缓存进内存 maxAge: 31536000, // 缓存时间(以毫秒为单位),默认为 1 年 gzip: true // 是否启用 gzip 压缩,默认为 true };
其中,dir
表示静态资源目录,prefix
表示静态资源访问的路径前缀,dynamic
表示是否支持动态请求,preload
表示是否启用预加载,maxAge
表示缓存时间,gzip
表示是否启用 gzip 压缩。
用法
在上面的配置都完成之后,我们就可以通过以下的方式来启动静态服务器了:
-- -------------------- ---- ------- -- ------ ----- ---- - ---------------- ----- --- - --------------- ----- --------------- - ----------------------------- --------------------- --------------------------- - ---- -------------------- -------------- ------- ----------- -------- ---- ---
启动之后,我们就可以通过地址 http://localhost:7001/public/index.html
来访问 ./app/public/index.html
这个文件了。
除此之外,egg-static-server 也支持自定义路由和中间件,我们可以在配置项中加入以下参数:
exports.static = { router: '/static', // 自定义路由 middlewares: [], // 中间件列表 };
其中,router
表示自定义路由,middlewares
表示中间件列表。
示例代码
-- -------------------- ---- ------- -- ------ ----- ---- - ---------------- ----- --- - --------------- ----- --------------- - ----------------------------- --------------------- --------------------------- - ---- -------------------- -------------- ------- ----------- -------- ----- ------- ---------- ------------ ------ ------------- ----- - -------------------- ---- ------------- ----- ------- -- ---
在上面的代码中,我们添加了一个自定义路由 /static
,并且添加了一个中间件,在请求开始时输出请求的 URL。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056cd481e8991b448e66b4