【发布时间】:2011-08-22 09:28:27
【问题描述】:
所以我开始使用 node.js 和 Express 框架,但我不知道如何摆脱 Jade 和所有其他模板......我想用纯 HTML 编写我的视图。我该怎么做?
【问题讨论】:
标签: html templates node.js express pug
所以我开始使用 node.js 和 Express 框架,但我不知道如何摆脱 Jade 和所有其他模板......我想用纯 HTML 编写我的视图。我该怎么做?
【问题讨论】:
标签: html templates node.js express pug
如果您想使用纯 HTML,则根本不需要使用视图——只需将 HTML 页面作为静态文件提供。如果您希望能够使用您的 node.js 变量,或在文件中包含文件,那么您必须拥有 某种 种模板语言。
【讨论】:
我知道这是一个老问题,但也许其他人也像我一样遇到过这个页面,并且正在寻找一个好的解决方案,让您可以编写典型的原始 HTML 作为模板,甚至可以让您在 HTML 中添加变量比如<b><% = myvariable %></b>,他们可以从他们的 Node.js javascript 中发送。或者他们可以只使用普通的原始 HTML。
解决方案是 EJS。
你可以这样做:
在你的 Node.js 项目的根目录下安装 ejs:
npm install ejs --save
(--save 还会将 ejs 保存到您的 package.json 文件中(如果存在)
将 app.js 中的模板引擎设置为 ejs
// app.js
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
现在在你的路由文件中你可以分配模板变量
// ./routes/index.js
exports.index = function(req, res){
res.render('index', { title: 'ejs' });};
然后你就可以在/views目录下创建你的html视图了。
以下是让 EJS 和 Express 工作的完整步骤:http://robdodson.me/blog/2012/05/31/how-to-use-ejs-in-express/
更多信息请见http://www.embeddedjs.com/,当然你也可以谷歌“ejs express”没有引号。
【讨论】: