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