标签: javascript node.js express
res.sendFile是使用express发送静态文件的推荐方法。但是,据我所知,res.sendFile是在每次请求时从磁盘读取文件,例如
res.sendFile
router.get('/', (req, res) => { res.sendFile('./guest.js'); });
访问/会在每次请求时读取磁盘。
/
答案 0 :(得分:1)
假设express确实读取了每个请求(很难确认,因为它可能正在使用一个利用fs.watch或fs.stat的聪明缓存来评估是否读取新文件),然后一个简单的解决方案是将文件的内容转换为变量并使用res.rend提供它,例如
fs.watch
fs.stat
res.rend
const guestScript = fs.readFileSync('./guest.js', 'utf-8'); router.get('/', (req, res) => { res .set('Content-Type', 'application/javascript') .send(guestScript); });