Node.js 使用Express 4.x时使用Etag

Node.js 使用Express 4.x时使用Etag,node.js,express,etag,Node.js,Express,Etag,我对将Etag与Express 4一起使用感到困惑。我的理解是,如果你这样做: app.use(express.static(path.join(__dirname, 'public'), { etag: true, maxAge:60000 })); 然后浏览器将缓存资产60秒,这意味着如果您作为开发人员对正在开发的文件系统上的静态资产进行更改,那么在Etag过期之前,如果您刷新,浏览器将不会接收更改 这是否意味着我们应该在开发中禁用ETag,或者我的假设不正确?你是对的,

我对将Etag与Express 4一起使用感到困惑。我的理解是,如果你这样做:

app.use(express.static(path.join(__dirname, 'public'), {
    etag: true, 
    maxAge:60000
}));
然后浏览器将缓存资产60秒,这意味着如果您作为开发人员对正在开发的文件系统上的静态资产进行更改,那么在Etag过期之前,如果您刷新,浏览器将不会接收更改


这是否意味着我们应该在开发中禁用ETag,或者我的假设不正确?

你是对的,缓存可能会干扰开发。以下是一种检查环境的方法:

// development only
if ('development' == app.get('env')) {
  //app.use...
}

你知道强ETag和弱ETag的区别吗?不确定强ETag是否具体,但这可能与: