
|
网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。 本篇文章主要介绍了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搭建的服务器中,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});
});以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网! 相关推荐: 以上就是Express使用html模板的代码分析的详细内容,更多请关注php中文网其它相关文章! 网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。 |
温馨提示:喜欢本站的话,请收藏一下本站!