设置node_env = production是否可以处理条件模板?

时间:2018-08-31 12:25:48

标签: express keystonejs

我正在使用带有梯形失真的很多nunjucks模板和自定义api端点。设置node_env = production缓存模板是否会返回数据,特别是因为它具有很多动态信息。它缓存呈现的文件还是模板文件?另外,假设没有缓存数据,那么自定义/ api端点又如何呢?数据库结果如何?感谢您提供任何信息。

1 个答案:

答案 0 :(得分:1)

NODE_ENV设置是Express的约定,因此效果适用于Express和相关的中间件,而不是Keystone核心。如果您添加了任何Express中间件程序包,则必须检查其使用说明文件以了解可能的行为更改。

Setting NODE_ENV to “production”使Express:

  • 缓存视图模板。
  • 缓存从CSS扩展生成的CSS文件。
  • 生成较少的详细错误消息。
  

我正在使用带有梯形失真的很多nunjucks模板和自定义api端点。设置node_env = production缓存模板是否会返回数据,特别是因为它具有很多动态信息。它会缓存渲染的文件还是模板文件?

Express仅将视图模板缓存在内存中,而不渲染结果。页面仍将在每次请求时使用相关变量重新呈现。 Express'Using Template Engines文档的底部埋有对此的注释。

  

关于自定义/ api终结点...假设没有缓存数据呢?

默认情况下,Express不对API端点不包括任何缓存。

  

数据库结果如何?

MongoDB Node.js驱动程序(和Mongoose ODM)不缓存查询结果。