解决方案是将模板预编译成 javascript,和普通的 js 一样加载。

有一点必须遵守:在生产环境一定要预编译模板。为什么?不仅因为在页面加载时编译模板速度很慢,而且是同步加载模板的,会阻塞整个页面。这很慢,因为 nunjucks 模板不是异步的。

查看 了解预编译。

Setup # 1: only precompile in production

  • 渲染模板 ()!

Setup # 2: always precompile

这个方法是在开发和生产环境都使用预编译的模板,这样可以简化初始设置。但是在开发时,你需要一些工具来自动预编译,而不是手动编译。

  • 开发时,使用 或gulp 监听文件目录,当文件变化后自动编译成 js 文件。
  • 渲染模板 ()!
    使用这个方法,开发和生产环境无区别,只需提交 templates.js 并部署到生产环境。