在express应用程序中使用下划线
Using underscorejs inside an express application?
我不喜欢翡翠,我花了很多时间弄清楚如何使用HTML,而不是这是我想到的。
首先安装ejs,然后为HTML实现下面的代码。app.engine('html', require('ejs').renderFile);
app.get('/', function(req, res) {
res.render(__dirname + '/views/page.html', {
string: 'random_value',
other: 'value'
});
});
一切都很好,直到我需要从服务器拉出一个集合,并在我的page.html
上呈现一些下划线语法。之类的<script type="text/template" id="messages">
<%= message %>
</script>
我遇到一个stackoverflow帖子提到除了使用模板引擎之外还需要一些东西,但我没有太注意它,也找不到那块信息。
编辑:我改变了一些代码,它仍然不工作。name is not defined at eval
"名称"是我试图从模型中获得的属性。
在我的backbone.js代码中,我有这样的代码:
window.App.Views.Message = Backbone.View.extend({
template: _.template($('#messages').html()),
render: function() {
console.log(this.model.toJSON());
this.$el.append(this.template(this.model.toJSON()));
return this;
}
});
在我的服务器代码中,我有这个
var engines = require('consolidate');
app.engine('html', engines.underscore);
app.get('/', function(req, res) {
res.render(__dirname + '/views/page.html', {
string: 'random_value',
other: 'value'
});
});
在page。html里面有
<script type="text/template" id="messages">
<% name %>
</script>
运行节点服务器,我得到name is not defined at eval
编辑:现在尝试使用mustache.js,让我们看看它是如何运行的
好了,我让它与underscore.js一起工作了,下面是我所做的。
在我的backbone.js代码中,我修改了如何获得下划线模板而不是
template: _.template($('#messages').html()),
我用它作为变量
var tpl = _.template($('#messages').html(), {data: data});
并将我的数据传递给它var data = this.model.toJSON();
window.App.Views.Message = Backbone.View.extend({
render: function() {
var data = this.model.toJSON();
var tpl = _.template($('#messages').html(), {data: data});
this.$el.append(tpl);
return this;
}
});
然后在我的html
中<script type="text/template" id="messages">
<%= data.name %>
</script>
相关文章:
- es6 相当于下划线查找位置
- 用空格替换下划线PHP
- 如何使用下划线js转换这些数据
- 带嵌套json的下划线js查找
- 如何逃离<>在javascript下划线模板中
- TinyMCE从MSWord粘贴的文本在所有文本下加下划线
- 使用lodash下划线基于键拆分jsonarray
- 在控制台中显示下划线变量
- 如何从另一个带下划线的数组中筛选带元素的数组
- 筛选下划线中的对象
- 在键值对中对求和值进行下划线
- 使用下划线将键和值的两个数组合并到一个对象中
- 如何将文件名中的斜线替换为下划线
- 如何在结果中添加下划线但不添加虚假值的情况下进行映射
- 下划线用句点扩展.旋转引号被删除,如何用引号获得它
- 如何将id数组与带下划线的对象数组嵌套属性进行比较
- 多行下划线模板和_
- NodeJS (Express 4) + i18n + 下划线:模板中的翻译问题
- 在express应用程序中,每个都使用下划线
- 在express应用程序中使用下划线