在 Express 中使用 ejs 模板引擎
安装:
1 | $ npm install --save ejs |
配置 Express 使用 ejs 模板
app.set('views', config.viewPath);
- 配置模板文件存放的路径
app.set('view engine', 'ejs');
- 配置调用 res.render 的时候使用的模板引擎
- 找到
view
目录下的.ejs
后缀的文件
1 | app.set('views', '视图模板文件存放路径') |
如果使用上面的配置,则视图的后缀名必须为 .ejs
,如果想要修改视图的后缀名,可以使用下面的配置形式
1 | app.engine('.html', require('ejs').__express) |
使用:
只要执行了上面两句代码:就可以直接在后面的请求处理函数中使用 res.render(视图名称,要注入的数据对象)
,然后express会自动帮你去读取文件然后注入数据,解析替换,最后得到一个完整的 html 页面,然后发送给客户端。
如 views/index.html
文件代码如下:
1 |
|
app.js
文件代码如下:
1 | app.get('/', (req, res) => { |
浏览器中看到的最终渲染结果如下:
1 |
|
在 Express 中使用 xTemplate 模板引擎
安装
1 | $ npm install xtpl xtemplate --save |
配置模板引擎
1、渲染的页面必须是 .xtpl 后缀的
1 | // 引入路径配置文件 |
2、渲染页面任然是 .hmtl 后缀的
1 | const config = require('./config'); |
Node 走通页面流程
1、安装包:
1 | $ npm install --save express |
2、views 文件下添加要渲染的 layout/base.html 页面视图文件
1 |
|
3、中间需要替换的内容
1 | {{extend('../layout/base')}} |
4、入口程序:app.js
1 | // 引入包 |
5、设置子路由,contorllers/index.js
1 | // 首页当做一个子路由 |