Express使用html模板的详细代码

发布时间 - 2026-01-11 03:17:35    点击率:

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# express  # html模板  # express使用html模板  # Nodejs+express+html5 实现拖拽上传  # 的是  # 该项  # 这是  # 加载  # 我是  # 如果你  # 也不  # 只需  # 什么呢  # 仍然是  # 不被  # 重启  # 设置为  # 于此  # 试了  # 要使  # 大开  # 先看  # 让其  # 大家多多 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  如何在阿里云购买域名并搭建网站?  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  如何快速搭建高效服务器建站系统?  如何用西部建站助手快速创建专业网站?  高端网站建设与定制开发一站式解决方案 中企动力  如何在阿里云香港服务器快速搭建网站?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  如何在云指建站中生成FTP站点?  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  如何快速查询网站的真实建站时间?  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  网站建设保证美观性,需要考虑的几点问题!  免费视频制作网站,更新又快又好的免费电影网站?  如何快速上传自定义模板至建站之星?  如何用AWS免费套餐快速搭建高效网站?  非常酷的网站设计制作软件,酷培ai教育官方网站?  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  Swift中swift中的switch 语句  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel如何配置Horizon来管理队列?(安装和使用)  详解CentOS6.5 安装 MySQL5.1.71的方法  制作旅游网站html,怎样注册旅游网站?  如何快速搭建安全的FTP站点?  奇安信“盘古石”团队突破 iOS 26.1 提权  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  如何在香港服务器上快速搭建免备案网站?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  如何自定义建站之星网站的导航菜单样式?  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  微信小程序 五星评分(包括半颗星评分)实例代码  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  Laravel如何处理异常和错误?(Handler示例)  大型企业网站制作流程,做网站需要注册公司吗?  如何在香港免费服务器上快速搭建网站?  昵图网官网入口 昵图网素材平台官方入口  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  油猴 教程,油猴搜脚本为什么会网页无法显示?  教学论文网站制作软件有哪些,写论文用什么软件 ?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  大同网页,大同瑞慈医院官网?  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  EditPlus中的正则表达式 实战(2)  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程