翡翠模板只需要编译一次

Does jade templates only need to be compiled once?

本文关键字:一次 编译      更新时间:2023-09-26

我刚开始用express.js使用翡翠,我想"得到"翡翠。

我的问题是:Express说它在生产中缓存玉,这是如何工作的?由于输出依赖于输入,express是否检查输出是否相同?

另外,NODE_ENV是在生产环境中自动设置为生产环境,还是我必须手动设置?

在Jade可以生成HTML之前,它必须从文件中读取模板,解析它并构建某种内部表示。所有这些步骤的结果,一个编译的模板,将被缓存(这个想法是,生产环境中的模板不应该改变,所以加载和编译它们一次是安全的)。

然后,

Express将使用缓存的编译模板根据输入生成输出。这是一个始终执行的步骤,因此输出不是被缓存的内容。

至于环境变量:您应该手动设置NODE_ENV=production,或者作为部署脚本的一部分。

当然,你可以在你的Express应用中重载模板缓存:

var app = express();
...
app.set('view cache', true);
...