我使用view
呈现res.view('layout', {my: 'Object'})
。
特殊行为:
当我更改ejs
文件并刷新浏览器时,更改是可见的(没有重启服务器)。
BUT
如果我的对象包含属性truthy
的{{1}}值,请执行以下操作:
cache
然后,我在浏览器中打开res.view('layout', {my: 'Object', cache: true})
,一切都很好。但是,如果我现在更改view
文件,则更新不会在刷新时显示在浏览器中,除非服务器已停止并重新提升。
我是否遗漏了ejs
关于此问题的任何文档,或者sailsjs
框架或express
的这部分内容还是错误?
ejs
答案 0 :(得分:2)
您正在通过将ejs
选项设置为cache
来激活true
缓存。这是ejs
将其本地视图和选项混合在一起的不幸副作用。如果您打算使用名为cache
的本地视图,则必须将其命名为_cache
或其他内容。请参阅ejs docs以获取所有可能选项的列表。