能否在路由中混合使用HTML和Jade模板?

6
我希望建立一个应用程序,能够尽可能多地使用html覆盖jade。我不讨厌jade,只是想编写html / angular / node API,因为我同时学习了很多技术(如angular,node,jade等)。
我想要构建一个类似以下的框架项目:
1. 用于SEO的静态服务器页面(使用jade或html),例如sitename.com/about、sitename.com/等简单名片页面。 2. 带有Angular视图/局部视图嵌入的Angular驱动的管理区域(即sitename.com/admin)。
我应该学习jade还是尝试使用这种混合方法?我已经完成了第一部分(简单的jade静态页面)。

+1 因为你不是孤单的 ;) - Ivan Ferrer Villa
2个回答

8
Express相当于模板引擎无关,您可以选择任何喜欢的模板引擎。例如,如果您想要更多HTML风格的模板,可以使用ejs而不是Jade:
// install ejs first
npm install ejs

// app.js
var express = require('express');
var app     = express();

app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');

app.get('/', function(req, res) {
  res.render('index', { name : 'World' });
});

app.listen(3012);

// ./views/index.html
<h1>Hello <%= name %>!</h1>

// Output:
<h1>Hello World!</h1>

1
谢谢,ejs对我来说更加自然。我添加了ejs-locals用于布局,现在已经可以运行了。非常感谢。 - user376456
@user376456 因为提到了 ejs-locals,所以我给你点赞,每次我使用 ejs 时都会用它 :) - robertklep

1
你可以在jade(现在是pug)中 包含html文件。只需编写include path-to-file即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接