ExpressJs不会在生产模式下缓存视图

问题描述 投票:1回答:2

NODE_ENV设置为production时, ExpressJs没有缓存我的viewsNODE_ENV问题。 我正在使用EJS template engine 。 这是我的代码:

npm脚本

"start": "set NODE_ENV=production && node ./bin/www"

app.js

console.log(app.get('env')) => logs production
console.log(app.get('view cache')) => logs undefined
app.set('view cache', true)
console.log(app.get('view cache')) => logs true

因此,当我将NODE_ENV环境变量设置为production ExpressJs似乎没有启用视图缓存,但是当我通过调用app.set('view cache', true)手动启用它时app.set('view cache', true)它会。 根据ExpressJs它应该默认启用视图缓存。

我测试了缓存是否有效,但只有在我手动启用时才会进行测试。

node.js express caching production-environment viewengine
2个回答
0
投票

首先通过NODE_ENV=production node app.js运行您的应用程序,如果它是true那么您应该更改package.jsonstart属性。


0
投票

我想到了。 问题不在于ExpressJsnpm scripts ,而在于我使用的shell命令。

使用console.dir我看到NODE_ENV设置为带有额外空间的production 。 将npm脚本更改为"start": "set NODE_ENV=production&&node ./bin/www"确实有效。

© www.soinside.com 2019 - 2024. All rights reserved.