解决方案是将模板预编译成 javascript,和普通的 js 一样加载。
有一点必须遵守:在生产环境一定要预编译模板。为什么?不仅因为在页面加载时编译模板速度很慢,而且是同步加载模板的,会阻塞整个页面。这很慢,因为 nunjucks 模板不是异步的。
查看 了解预编译。
Setup # 1: only precompile in production
- 渲染模板 ()!
Setup # 2: always precompile
这个方法是在开发和生产环境都使用预编译的模板,这样可以简化初始设置。但是在开发时,你需要一些工具来自动预编译,而不是手动编译。
- 开发时,使用 或gulp 监听文件目录,当文件变化后自动编译成 js 文件。
- 渲染模板 ()!
使用这个方法,开发和生产环境无区别,只需提交 templates.js 并部署到生产环境。