$ npm install koa-send Options maxageBrowser cache max-age in milliseconds. (defaults to0). immutableTell the browser the resource is immutable and can be cached indefinitely. (defaults tofalse). hiddenAllow transfer of hidden files. (defaults tofalse). ...
第5步,会设置协商缓存Last-Modified和强制缓存Cache-Control,代码很简单不解释,不过这里面有一个之前没遇到的知识点,koa send设置的Cache-Control会有类似max-age=10000,immutable的值,immutable表示永不改变,浏览器永不需要请求资源,这个感觉可以配合带hash或者版本号的资源使用。 第6步最有意思,代码很简单,只有一行:...
而koa-send和koa-static就是帮助我们处理这些繁琐事情的中间件。 koa-send是koa-static的基础,可以在NPM的界面上看到,static的dependencies中包含了koa-send。 koa-send主要是用于更方便的处理静态文件,与koa-router之类的中间件不同的是,它并不是直接作为一个函数注入到app.use中的。 而是在某些中间件中进行调用,...
而koa-send和koa-static就是帮助我们处理这些繁琐事情的中间件。 koa-send是koa-static的基础,可以在NPM的界面上看到,static的dependencies中包含了koa-send。 koa-send主要是用于更方便的处理静态文件,与koa-router之类的中间件不同的是,它并不是直接作为一个函数注入到app.use中的。 而是在某些中间件中进行调用,...
最典型的场景是 Koa.js 官方支持传输静态文件中间件的实现koa-send。 主要实现场景流程是 拦截请求,判断该请求是否请求本地静态资源文件 操作响应,返回对应的静态文件文本内容或出错提示 本节主要以官方的 koa-send 中间件为参考,实现了一个最简单的koa-end 实现,方便原理讲解和后续二次自定义优化开发。
Files were exported fromhttps://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/koa-send. index.d.ts import{ParameterizedContext}from"koa";import{Stats}from"fs";declarefunctionsend(ctx:ParameterizedContext,path:string,opts?:send.SendOptions):Promise<string>;declarenamespacesend{typeSetHeaders...
koa-send的GitHub地址 原生的文件读取、传输方式 在Node中,如果使用原生的fs模块进行文件数据传输,大致是这样的操作: 代码语言:javascript 代码运行次数:0 复制 Cloud Studio代码运行 constfs=require('fs')constKoa=require('koa')constRouter=require('koa-router')constapp=newKoa()constrouter=newRouter()constfi...
koa-send源码分析 通常我们在做静态文件服务的时候,首选CDN。当文件内容需要经常变动时,则可以采用nginx代理的方式。node本身也可以搭建静态服务,用koa static可以很容易实现这个功能。 koa static是一个koa中间件,内部是对koa send的封装。koa static本身只做了一层简单的逻辑,所以这篇文章主要分析一下koa send的...
koa-send是koa-static的基础,可以在NPM的界面上看到,static的dependencies中包含了koa-send。 koa-send主要是用于更方便的处理静态文件,与koa-router之类的中间件不同的是,它并不是直接作为一个函数注入到app.use中的。 而是在某些中间件中进行调用,传入当前请求的Context及文件对应的位置,然后实现功能。 koa-sen...
koa-send Static file serving middleware. ✨koajs/send 整体思路 通过阅读 koajs/send 的源码,在设计静态资源服务器的时候,具体的步骤如下: 解析请求路径 判断是否启动压缩文件 处理扩展名数组 查找文件并处理异常 设置响应头部并返回文件 相关配置项: ...