我知道Express'maxAge
指令用于静态内容:
app.use(express.static(__dirname + '/public', { maxAge: 86400000 }));
但是我想建立一个系统:
我知道这通常使用校验和来完成,即:使用校验和作为其URL的一部分来提供所有资源。旧网址将永久缓存,新内容意味着新网址。
如何在快递中进行设置?
答案 0 :(得分:3)
一些研究表明,这称为指纹识别。请参阅http://guides.rubyonrails.org/asset_pipeline.html#what-is-fingerprinting-and-why-should-i-care-questionmark(该文档适用于Rails,但HTTP概念当然与节点相同)。
Node Static Asset这样做是为了表达。
var staticAsset = require('static-asset');
app.use(staticAsset(__dirname + "/public/") );
然后在模板中:
<script src="{{ assetFingerprint("/client.js") }}"></script>
还有Static Expiry同样有效。