jade模板只需要编译一次吗?
Does jade templates only need to be compiled once?
我刚开始将 jade 与 express.js 一起使用,我正在尝试 "get" jade。
我的问题是:Express 说它在生产中缓存了 jade,这是如何工作的?由于输出取决于输入,express 是否检查输出是否相同?
此外,NODE_ENV 是在生产中自动设置为生产还是必须手动设置?
在 Jade 可以生成之前 HTML 必须从文件中读取模板,解析它并构建某种内部表示。所有这些步骤的结果,一个 compiled 模板,将被缓存(想法是生产环境中的模板不应该改变,所以加载和编译它们一次是安全的).
Express 将根据输入使用缓存的编译模板生成输出。这是一个始终执行的步骤,因此输出不是缓存的内容。
至于环境变量:您应该手动设置 NODE_ENV=production
,或者作为部署脚本的一部分。
顺便说一句,您始终可以从 Express 应用覆盖模板缓存:
var app = express();
...
app.set('view cache', true);
...
有关其他应用程序设置,请参阅 this table。
我刚开始将 jade 与 express.js 一起使用,我正在尝试 "get" jade。
我的问题是:Express 说它在生产中缓存了 jade,这是如何工作的?由于输出取决于输入,express 是否检查输出是否相同?
此外,NODE_ENV 是在生产中自动设置为生产还是必须手动设置?
在 Jade 可以生成之前 HTML 必须从文件中读取模板,解析它并构建某种内部表示。所有这些步骤的结果,一个 compiled 模板,将被缓存(想法是生产环境中的模板不应该改变,所以加载和编译它们一次是安全的).
Express 将根据输入使用缓存的编译模板生成输出。这是一个始终执行的步骤,因此输出不是缓存的内容。
至于环境变量:您应该手动设置 NODE_ENV=production
,或者作为部署脚本的一部分。
顺便说一句,您始终可以从 Express 应用覆盖模板缓存:
var app = express();
...
app.set('view cache', true);
...
有关其他应用程序设置,请参阅 this table。