當NODE_ENV
設置爲production
時,我遇到沒有緩存我的views
的問題。我正在使用EJS template engine
。這裏是我的代碼:ExpressJs在生產模式下不緩存視圖
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)
手動啓用它時,它會。根據ExpressJs
它應該默認啓用視圖緩存。
我做了測試,如果緩存的作品,但只有當我手動啓用它。
你的意思是從CLI運行'set NODE_ENV = production && node。/ bin/www'嗎?我做到了,但不幸的是結果相同。我在Windows上,所以你提供的代碼將不起作用。 – Tarabass
當你從CLI運行時,你不需要'set'和'&'。 –
當我不使用它們時會引發一個錯誤:''NODE_ENV'不被識別爲內部或外部命令, 可操作的程序或批處理文件。 ' – Tarabass