1.express框架中ejs的安装使用
需要装node环境和express框架,这个很简单,不清楚的可以查一下.
安装
npm install ejs --save
或者:
npm install ejs --save-dev
Express 中 ejs 的使用
var express = require("express");
var app = express();
app.set("view engine","ejs");
app.get('/index',(req, res)=>{
let name = req.query.name //从访问地址中获取参数
let h3 = "<h3>我是一个h3标签</h3>"
res.render('index',{
name:name,
h3:h3
})
})
app.listen(3000);
指定模板位置 ,默认模板位置在 views :
app.set('views', __dirname + '/views');
Ejs 引入模板:
<%- include header.ejs %>
Ejs 引入HTML代码块:
<%-h3%>
Ejs 绑定数据:
<%=data%>
Ejs 模板判断语句 :
<% if(true){ %>
<div>true</div>
<%} else{ %>
<div>false</div>
<%} %>
Ejs 模板中循环数据 :
<%for(var i=0;i<list.length;i++) { %>
<li><%=list[i] %></li>
<%}%>
Ejs 后缀修改为 Html :
这是一个小技巧,看着.ejs 的后缀总觉得不爽,使用如下方法,可以将模板文件的后缀换成我们习惯的.html。
1.在 app.js 的头上定义 ejs:,代码如下:
var ejs = require('ejs');
2.注册 html 模板引擎代码如下:
app.engine('html',ejs.__express);
3.将模板引擎换成 html代码如下:
app.set('view engine', 'html');
4.修改模板文件的后缀为.html。
2.使用express设置静态文件目录
//将静态文件目录设置为:项目根目录+/public
app.use(express.static(__dirname + ‘/public‘));
//或者
app.use(express.static(path.join(__dirname, ‘public‘)));
提供对静态资源文件(图片、csss文件、javascript文件)的服务。传递一个包含静态资源的目录给 express.static 中间件用于立刻开始提供文件。如下提供public目录下的图片、css文件和javascript文件:
app.use(express.static(‘public‘));
express 会在静态资源目录下查找文件,所以不用把静态目录public作为url的一部分。访问项目public的子文件index.js:
扫描二维码关注公众号,回复:
15211482 查看本文章
http://localhost:3000/index.js
可以多次使用 express.static 中间件来添加多个静态资源目录,这时express 将会按照你设置静态资源目录的顺序来查找静态资源文件:
app.use(express.static(‘public‘));
app.use(express.static(‘file‘));
实例
项目中的部分代码
//配置模板引擎
app.engine('html',ejs.__express) //修改模板后缀为html
app.set('view engine','html')
app.use(express.static(__dirname + ‘/public‘)); //express访问静态资源目录: D:假装我是项目名/views/public 找到这个路径下的静态资源文件
因为 __dirname 获取当前项目的绝对路径 (即项目名),所以静态文件的访问路径名应该是静态文件的父文件的相对路径.
希望对你有帮助,欢迎留言讨论.