Express框架中使用ejs模板引擎

Express中使用Ejs模板引擎

引入

 安装:npm install ejs --save
 在app.js中引入express,设置ejs模板,并配置路由参数,代码如下:

	//引入express
	var express = require("express");
	var app = express();
	//配置模板引擎
	app.set("view engine","ejs");
	//配置路由参数
	app.get("/",function(req,res){
		//将数据渲染到news.ejs页面中,默认是从当前views目录去寻找news.ejs文件
		res.render("news",{
			"news" : ["我是数据1","我是数据2","我是数据3"]
		});
	});
	app.listen(3000);

 在ejs页面中引入即可,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
        <%for(let i=0;i<news.length;i++){%>
            <li><%=news[i]%></li>
        <%}%>        
    </ul>
</body>
</html>

 默认模板位置是在views目录下,我们可以通过设置来更改模板位置,加入语句app.set('views',__dirname+'/目录路径')即可

Ejs的基本语法

  • 引入模板<%- include (‘footer.ejs’) %>,可以声明公共ejs模板组件,在需要的页面将其引入
  • 绑定数据:<%=h%>
  • 绑定html数据:<%-h%>
  • Ejs模板中判断语句:
			<% if(true){ %>
			<div>true</div>
			<%} else{ %>
			<div>false</div>
			<%} %>
  • Ejs模板中循环数据
	<%for(var i=0;i<list.length;i++) { %>
		<li><%=list[i] %></li>
	<%}%>

 分享结束,有帮助的话就点个赞呗~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面我为您介绍如何使用Express框架实现新闻模板功能: 1.创建Express项目 首先,我们需要在本地创建一个Express项目,可以使用以下命令: ``` mkdir news-template cd news-template npm init npm install express --save ``` 2.创建路由 在项目根目录下创建一个`routes`文件夹,并在其创建以下文件: - `index.js`:用于显示所有新闻列表 - `category.js`:用于显示特定类别的新闻列表 - `details.js`:用于显示特定新闻的详细信息 - `search.js`:用于搜索新闻 在`routes`文件创建以上四个文件,并编写相应的路由处理程序。 例如,在`index.js`,我们可以编写以下代码: ``` const express = require('express'); const router = express.Router(); router.get('/', (req, res) => { res.send('显示所有新闻列表'); }); module.exports = router; ``` 在`category.js`,我们可以编写以下代码: ``` const express = require('express'); const router = express.Router(); router.get('/:category', (req, res) => { const { category } = req.params; res.send(`显示${category}类别的新闻列表`); }); module.exports = router; ``` 在`details.js`,我们可以编写以下代码: ``` const express = require('express'); const router = express.Router(); router.get('/:id', (req, res) => { const { id } = req.params; res.send(`显示ID为${id}的新闻详细信息`); }); module.exports = router; ``` 在`search.js`,我们可以编写以下代码: ``` const express = require('express'); const router = express.Router(); router.post('/', (req, res) => { const { keyword } = req.body; res.send(`搜索关键词为${keyword}的新闻`); }); module.exports = router; ``` 3.创建视图 在项目根目录下创建一个`views`文件夹,并在其创建以下文件: - `index.ejs`:用于显示所有新闻列表 - `category.ejs`:用于显示特定类别的新闻列表 - `details.ejs`:用于显示特定新闻的详细信息 - `search.ejs`:用于搜索新闻 在`views`文件创建以上四个文件,并编写相应的HTML代码。 例如,在`index.ejs`,我们可以编写以下代码: ``` <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>所有新闻</title> </head> <body> <h1>所有新闻</h1> </body> </html> ``` 在`category.ejs`,我们可以编写以下代码: ``` <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title><%= category %>类别的新闻</title> </head> <body> <h1><%= category %>类别的新闻</h1> </body> </html> ``` 在`details.ejs`,我们可以编写以下代码: ``` <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ID为<%= id %>的新闻</title> </head> <body> <h1>ID为<%= id %>的新闻</h1> </body> </html> ``` 在`search.ejs`,我们可以编写以下代码: ``` <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>搜索新闻</title> </head> <body> <h1>搜索新闻</h1> <form method="post" action="/search"> <label for="keyword">关键词:</label> <input type="text" name="keyword" id="keyword"> <button type="submit">搜索</button> </form> </body> </html> ``` 4.注册路由 在项目根目录下的`app.js`文件,我们需要注册路由,并设置模板引擎。 例如: ``` const express = require('express'); const app = express(); // 设置模板引擎 app.set('view engine', 'ejs'); app.set('views', __dirname + '/views'); // 注册路由 const indexRouter = require('./routes/index'); const categoryRouter = require('./routes/category'); const detailsRouter = require('./routes/details'); const searchRouter = require('./routes/search'); app.use('/', indexRouter); app.use('/category', categoryRouter); app.use('/details', detailsRouter); app.use('/search', searchRouter); // 启动服务器 app.listen(3000, () => { console.log('Server is running on port 3000!'); }); ``` 5.访问页面 现在,我们可以在浏览器访问以下页面: - 所有新闻:http://localhost:3000/ - 特定类别的新闻:http://localhost:3000/category/体育 - 特定新闻的详细信息:http://localhost:3000/details/123 - 搜索新闻:http://localhost:3000/search 以上就是使用Express框架实现新闻模板功能的步骤,希望对您有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值