【问题标题】:Does jade templates only need to be compiled once?玉模板只需要编译一次吗?
【发布时间】:2015-08-25 18:59:59
【问题描述】:

我刚开始在 express.js 中使用翡翠,我正在尝试“获取”翡翠。

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    接下来,您始终可以从您的 Express 应用中覆盖模板缓存:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-28
      相关资源
      最近更新 更多