我使用 res.view('layout', {my: 'Object'})
渲染 view
。
异常行为:
当我更改 ejs
文件并刷新浏览器时,更改可见(无需重新启动服务器)。
但是
如果我的对象包含属性 cache
的 truthy
值,如下所示:
res.view('layout', {my: 'Object', cache: true})
然后,我在浏览器中打开view
,一切都很好。但是,如果我现在更改 ejs
文件,则刷新时浏览器中不会显示更改,除非服务器停止并重新启动。
是否有关于我错过的关于此的 sailsjs
文档,或者是 express
框架或 ejs
的这一部分,还是一个错误?
SailsJs v0.10.5
NodeJs v0.10.33
最佳答案
您可以通过将 cache
选项设置为 true
来激活 ejs
缓存。这是 ejs
将 View 局部变量和选项混合在一起的一个不幸的副作用。如果您的目的是拥有一个名为 cache
的本地 View ,则必须将其命名为 _cache
或其他名称。请参阅ejs docs获取所有可能选项的列表。
关于node.js - Sailsjs View 缓存(错误?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28294429/