我正在一所旧学校使用AngularJS开发应用程序的前端"服务器,我的意思是不支持Python,Ruby,Java。我只能访问一个糟糕的phpMyAdmin数据库和php,我不会使用它们。
我已经习惯了Django的模板引擎(Jinja2受到启发),我是block
继承功能的忠实粉丝< / strong>即可。不幸的是,AngularJS只提供一个常规的include
指令,它只允许将代码块包含在输出文件中。
另一方面,使用Django(Jinja),您可以轻松地执行类似
的操作<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
{% block content %}
{% endblock content %}
</body>
<script type="text/javascript">
// ... some stuff that should be done on every page
</script>
</html>
以及您网站的每个页面
{% extends "core/skeleton.html" %}
{% block content %}
<h1>This is my content...</h1>
<p>
...and I don't care about the rest.
</p>
{% endblock content %}
我觉得非常强大。
仅使用AngularJS,最终会得到2个include
语句,以达到相同的效果。此外,您希望在页面中嵌套的块越多,您需要使用的include
语句越多(实际上,每个Django block
都会导致AngularJS中的2个ìnclude
语句。
符合我要求的最合适的模板引擎是什么?即:
答案 0 :(得分:0)
如果你真的想要走这条路,你可以使用jade模板并在构建时将它们编译成html,例如:http://www.npmjs.com/package/grunt-contrib-jade
Jade有extend
和include
指令。
你这样做可能会有角度。 UiRouter提供组合和嵌套状态,抽象状态和命名视图。