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

是.

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

有一些区别。

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

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

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

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

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