koa-static静态资源中间件

6,346 阅读1分钟
  1. 安装

    npm install koa-static --save
    
  2. 使用

    const Koa = require("koa");
    const app = new Koa();
    const router = require("koa-router")();
    const static = require("koa-static");
    
    //这里比较重要, 设置静态资源放置的地址
    /*app.use(static("资源所在的地址"))  例如 app.use(static("assets")); 例如设置相对路径asstes所在的文件夹*/
    
    
    //__dirname  启动服务的js所在的目录  绝对路径  可以写多个 多个静态资源文件
    
    //如果在static 里面找不到 就会去public 里面去找
    app.use(static(__dirname + "static"));
    app.use(static(__dirname + "public"));
    
    //前端只需要 a标签就可以下载这个文件了
    router.get("/xxx文件+后缀", (ctx) => {
         ctx.body = ctx;  
    })
    
    
    app.listen(3000, () => {
        //服务启动成功
    });
    
    app.use(router.routes());
    app.use(router.allowedMethods());
    
  3. static(root, option)接收两个参数

    root: 为路径,表示文件所在的相对路径
    option: {
        maxage: 浏览器默认的最大缓存时长  max-age, 单位为毫秒,默认值为0,也就是不启用缓存。
        hidden: 是否允许传输隐藏的文件,默认为false, 不传输。
        index: 默认的文件名,默认值为index.html。
        defer: 是否推迟响应,如果为true, koa-static 将会咋其他中间件执行完成之后在执行。
        gzip: 如果客户端支持gzip压缩且资源文件后缀为.gz, 则进行gzip压缩,默认为true, 也就是支持gzip压缩。
        setHeaders: 设置请求头函数,格式为: fn(res, path, stats)。
        extensions: 当资源匹配不到的时候。根据传入的数组参数依次进行匹配,返回匹配到的第一个资源。
    }