最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Express使用html模板的代码分析

来源:动视网 责编:小OO 时间:2020-11-27 15:25:07
文档

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引擎没有被配置,直接添加即可;视图引擎已配置,修改配置即可。
推荐度:
导读?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引擎没有被配置,直接添加即可;视图引擎已配置,修改配置即可。


本篇文章主要介绍了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});
});

文档

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引擎没有被配置,直接添加即可;视图引擎已配置,修改配置即可。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top