Express使用html模板

简介: express默认使用jade模板,可以配置让其支持使用ejs或html模板。   1. 安装ejs    在项目根目录安装ejs. npm install ejs 2、引入ejs var ejs = require('ejs'); //我是新引入的ejs插件 3、设置html引擎 app.engine('html', ejs.__express); 设置视图引擎 app.set('view engine', 'html'); 保存后重启服务,即可访问html文件。

express默认使用jade模板,可以配置让其支持使用ejs或html模板。

 

1. 安装ejs

   在项目根目录安装ejs.

npm install ejs

2、引入ejs

var ejs = require('ejs');  //我是新引入的ejs插件

3、设置html引擎

app.engine('html', ejs.__express);

设置视图引擎

app.set('view engine', 'html');

保存后重启服务,即可访问html文件。

在express搭建的服务器中,html引擎没有被配置,直接添加即可;视图引擎已配置,修改配置即可。

 

---------------------------------------------------------------------------------------------------------------------------------

修改的这些设置做了什么操作?

为什么修改了视图引擎还要增加设置html引擎?

 

我们先看一下.engine()这个方法。

app.engine(ext, callback);

Express默认使用jade模板。如果你尝试加载 "foo.jade" 文件,Express内部会调用如下操作。

app.engine('jade', require('jade').__express);

如果要使用其他模板引擎,如:将EJS模板映射至".html"文件:

app.engine('html', require('ejs').__express);

这行代码中,实际调用了EJS的.renderFile()方法,ejs.__express是该方法在EJS内部的另一个名字。

因为加载的模板引擎后调用的是同一个方法.__express,所以如果使用的是ejs模板,不用配置该项。

总结:使用html模板,需增加  app.engine('html', require('ejs').__express);

    使用EJS模板,不用配置该项。

此时如果在views文件夹里创建index.html文件或index.ejs文件,访问的仍然是默认的index.jade文件。这是为什么呢?这里要说的就是上面提到的第二项设置app.set('view engine', 'html');

app.set(name, value);

在.set()方法的参数中,有一项是'view engine',表示没有指定文件模板格式时,默认使用的引擎插件。如果这里设置为html文件,设置路由指定文件时,只需写文件名,就会找对应的html文件。于此,脑洞大开,试了一下在views中创建3个文件test.jade、test.ejs、test.html。路由设置如下。访问正常!每个路由都指向对应的文件。当然这种写法是完全不被建议也不符合现实的。

router.get('/test/',function(req, res, next){
  res.render('test', {title: 'HTML'});
});

router.get('/test1/',function(req, res, next){
  res.render('test.ejs', {title: 'EJS'});
});

router.get('/test2/',function(req, res, next){
  res.render('test.jade', {title: 'jade});
});

 

官方API:http://www.expressjs.com.cn/4x/api.html#app.engine

 

目录
相关文章
|
5月前
|
安全 Go
Golang深入浅出之-Go语言模板(text/template):动态生成HTML
【4月更文挑战第24天】Go语言标准库中的`text/template`包用于动态生成HTML和文本,但不熟悉其用法可能导致错误。本文探讨了三个常见问题:1) 忽视模板执行错误,应确保正确处理错误;2) 忽视模板安全,应使用`html/template`包防止XSS攻击;3) 模板结构不合理,应合理组织模板以提高可维护性。理解并运用这些最佳实践,能提升Go语言模板编程的效率和安全性,助力构建稳健的Web应用。
77 0
|
5月前
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
339 1
|
5月前
|
前端开发 安全
分享81个Html经典模板,总有一款适合您
分享81个Html经典模板,总有一款适合您
52 2
|
5月前
分享82个Html经典模板,总有一款适合您
分享82个Html经典模板,总有一款适合您
45 0
|
2月前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
5月前
|
移动开发 前端开发 HTML5
HTML5实现酷炫个人产品推广、工具推广、信息推广、个人主页、个人介绍、酷炫官网、门户网站模板源码
HTML5实现酷炫个人产品推广、工具推广、信息推广、个人主页、个人介绍、酷炫官网、门户网站模板源码
|
4月前
404错误页面源码,简单实用的html错误页面模板
小编精心准备一款404错误页面源码,简单实用的html错误页面模板,简单大气的页面布局,可以使用到不同的网站中,相信大家一定会喜欢的
55 2
404错误页面源码,简单实用的html错误页面模板
|
5月前
|
资源调度 前端开发 JavaScript
1500+免费html模板,建站神器
【5月更文挑战第6天】
112 3
|
5月前
|
机器人
机器人飞船404页面模板HTML源码
机器人飞船404页面模板HTML源码,源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面
51 5
机器人飞船404页面模板HTML源码
|
5月前
|
前端开发 JavaScript Python
华视 CVR-100UC 身份证读取 html二次开发模板
华视 CVR-100UC 身份证读取 html二次开发模板