返回介绍

常见问题

发布于 2021-09-25 23:11:16 字数 871 浏览 912 评论 0 收藏 0

nunjucks 是否可同时在 node 端和浏览器端使用?

是.

是否可在 nunjucks 和 jinja2 使用同一个模板?两者有什么区别?

有一些区别。

首先,nunjucks 可以操作原生的 Javascript 而 jinja2 操作的是 python,比如在 nunjucks 中布尔值为 true 而 jinja2 为 True,在调用数组原生方法的时候也不同。

但是,如果你避免使用原生语言的特性(如 {{ str.trim() }}) 而完全使用模板的特性和过滤器,那么两者的模块可以兼容。

Nunjucks 支持与 Jinja 兼容,查看 installJinjaCompat 获取更多信息。

除此之外,nunjucks 还有一些未实现的功能:

  • self 变量
  • for 不支持 if not and else
  • if i is divisibleby(3) 式的条件判断
  • 可命名的结束区块: {% endblock content %}
  • 沙箱模式 (Sandboxed mode)
  • 行语句: # for item in seq

最后,自定义的 python 过滤器和扩展需要用 Javascript 重写。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文