【问题标题】:.dot template and angular or what should I use here?.dot 模板和角度或我应该在这里使用什么?
【发布时间】:2018-06-23 17:39:57
【问题描述】:
这是一个通用问题,不需要“准备使用”代码,而是一个想法应该把时间花在哪里。我设置了 mustache 标签,因为可能相似。
这是一个使用 .doT 模板的 express (4) 应用程序,我想在其中扩展一些角度 (1.4.3) 功能。
- 我似乎无法使用 .doT 模板和 angularjs ,我就在这里? .我试图让它工作一个.html模板文件和他的角度应用程序没有成功(返回404原因找不到模板,但是当我使用ejs时,它确实有效(因为它读取.html文件)
2 。仍然,想知道如果我在上面错了。考虑到this anwer,该状态可以将多视图引擎与合并一起使用。是可能的,如何用角度来完成? (只是一个提示,不需要是整个实现)
-
我知道this answer 可以在下面使用这个,但也说使用助手更好,可以在.doT 模板中使用助手吗? ,怎么做?
appModule.config(function($interpolateProvider) {
$interpolateProvider.startSymbol('{[{');
$interpolateProvider.endSymbol('}]}');
});
考虑到上述情况。你说 2 和 3 哪个更快?
如果我将我的应用程序更改为 ejs 视图引擎会快得多?
【问题讨论】:
标签:
angularjs
express
angular2-template
ejs
mustache
【解决方案1】:
逐点:
-
这是不正确的,.doT 模板与 Angular 配合得很好,我都用过,只要你用点渲染路由。
router.get("/blog/new", function(req, res) {
res.render("owner/blog/create");
});
并在您的角度提供程序中设置一个状态,例如
$stateProvider
...
.state("owner-new-blog", {
url: "/blog/new",
templateUrl: "/owner/blog/new",
controller: "CreateUpdateCtrl"
})
- 没有必要使用合并中间件,.doT 模板可以与 angular 模板一起使用,除非您更改 .doT 默认参数。
-
是的......就像这个post中的状态一样
var dT = require('doT');
var tpl = {
tmpl:dT.template('{{=this.helper()}}'),
helper: function(){
/* do what you want to do */
}
}
tpl.tmpl(); // render template
1234563比拥有两个引擎更痛苦.. 所以,在 dot 中添加一个 Helper 会更快。
更改为 ejs 没有意义,dot 非常快,并且是支持布局和部分的高级模板引擎。在我看来,仍然更快。