jade模板只需要编译一次吗?

时间:2015-08-25 19:00:00

标签: javascript node.js express pug production-environment

我刚刚开始使用带有express.js的玉器,而我正试图“获得”玉器。

我的问题是:Express表示它将玉器用于生产,这是如何工作的?由于输出取决于输入,是否表示检查输出是否相同?

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

1 个答案:

答案 0 :(得分:1)

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

然后,

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

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

Fwiw,您始终可以从Express应用程序覆盖模板缓存:

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

有关其他应用程序设置,请参阅this table