如何尝试文件并回退到另一个文件?

时间:2017-03-04 22:19:56

标签: express

我的配置会编译.js版本的脚本,但前提是压缩会缩小文件大小,这意味着某些.js.gz脚本会有.gz个脚本,有些人不会。

我可以告诉nginx在.js扩展的情况下尝试.js。但是,如果.js.gz不存在,我怎么告诉nginx回退到app.get('*.js', (req, res, next) => { // eslint-disable-next-line operator-assignment req.url = req.url + '.gz'; res.set('Content-Encoding', 'gzip'); next(); });

try_files $uri.gz $uri @404

为了进一步复杂化,我正在使用serve-static

中,我可以使用以下方式实现此目的:

{{1}}

1 个答案:

答案 0 :(得分:1)

express-static已经拥有了您需要的一切 - extensions fallbacks

app.use(express.static(path.join(__dirname, 'public'), {
  extensions: ['gz']
}));