业务需求显示数据,如图:后端返回数据,如图:我写的html,本来没有value这个字段的,但是接受后端数据要赋值才发现弄的太麻烦,然后硬是加上了value: dataLi
顺晟科技
2021-06-16 10:29:25
205
Express默认使用jade模板,可以配置为支持使用ejs或html模板。
1.安装ejs
在项目的根目录下安装ejs。
npminstallejs
2.介绍ejs
varejs=require(' ejs ');//我是新推出的ejs插件
3.设置html引擎
app.engine('html ',ejs。_ _快递);
设置视图引擎
app.set('viewengine ',' html ');
保存并重新启动服务后,您可以访问html文件。
注意:express搭建的服务器中,html引擎没有配置,可以直接添加;视图引擎已经配置,因此您可以修改配置。
-
修改后的设置做了什么?
为什么修改视图引擎后需要添加html引擎?
我们来看看方法。发动机()优先。
app.engine(ext,callback);
Express默认使用玉石模板。如果您试图加载“foo.jade”文件,将在Express内部调用以下操作。
app.engine('jade ',require('jade ')。_ _快递);
如果您想使用其他模板引擎,例如将EJS模板映射到'。“html”文件:
app.engine('html ',require('ejs ')。_ _快递);
在这一行代码中。EJS的renderFile()方法实际上是调用,而EJS。__express是这个方法在ejs中的另一个名称。
因为同样的方法。__express在加载的模板引擎之后调用,如果使用了ejs模板,则无需配置此项。
总结:要使用html模板,需要添加app。引擎(' html ',要求(' ejs ')。_ _快递);
使用EJS模板而不配置此项。
此时,如果在视图文件夹中创建了index.html文件或index.ejs文件,将仍然可以访问默认的index.jade文件。这是为什么?这里我想说的是上面提到的第二个设置app.set('viewengine ',' html ');
app.set(名称、值);
的参数之一。set()方法为“viewengine”,表示在未指定文件模板格式时默认使用的引擎插件。如果设置为html文件,在设置路线指定文件时,只需要写文件名,就会找到对应的html文件。在这一点上,我打开了我的思维,并试图在视图中创建三个文件,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 });
});
本文转载自中文网站
19
2022-10
25
2022-09
16
2022-09
15
2022-09
15
2022-09
15
2022-09