var send = require('koa-send');
var Koa = require('koa');
var app = new Koa();
var Router = require('koa-router');
var cors = require('koa-cors');
var koaBody = require('koa-body')();
var cacheControl = require('koa-cache-control');
var router = new Router({
prefix: '/public'
});
app.use(gzip());
app.use(cors())
.use(router.routes())
.use(router.allowedMethods());
**app.use(cacheControl({
maxAge: 500
}));**
router.get('/:fname/:cname', koaBody, function*() {
var fname = this.params.fname;
var cname = this.params.cname;
console.log("文件类型" + fname);
console.log("文件名" + cname);
yield send(this, "./public/" + fname + "/" + cname);
})
var port = 8003;
app.listen(port);
console.log(` 启动成功,端口: ${port}`);
FireBug返回如下
返回头,maxAge=0;
ccess-Control-Allow-Methods →GET,HEAD,PUT,POST,DELETE
Access-Control-Allow-Origin →*
Cache-Control →max-age=0
Connection →keep-alive
Content-Type →image/jpeg
Date →Thu, 22 Sep 2016 08:02:04 GMT
Last-Modified →Wed, 14 Sep 2016 07:42:52 GMT
Transfer-Encoding →chunked
content-encoding →gzip
不知道为何设置了max-age到测试时还是没有显示出来、
附上插件地址https://github.com/DaMouse404...,小白请指教
PHP中文网2017-04-17 14:56:36
ミドルウェアの場所はルーティングの背後に配置されているため、キャッシュ制御にはまったく到達しません。 これを先頭に配置して次のように変更するだけです。
var send = require('koa-send');
var Koa = require('koa');
var app = 新しい Koa();
var Router = require('koa-router');
var cors = require('koa-cors');
var koaBody = require('koa-body')();
varcacheControl = require('koa-cache-control');
var ルーター = 新しいルーター({
接頭辞: '/public'
});
app.use(gzip());
// ミドルウェアをルーターの前に置きます
app.use(cacheControl({
最大年齢: 500
}));
app.use(cors())
.use(router.routes())
.use(router.allowedMethods());
router.get('/:fname/:cname', koaBody, function*() {
var fname = this.params.fname;
var cname = this.params.cname;
console.log("ファイルの種類" + fname);
console.log("ファイル名" + cname);
yield send(this, "./public/" + fname + "/" + cname);
})
変数ポート = 8003;
app.listen(ポート);
console.log(` 正常に開始されました、ポート: ${port}`);