express的路由,怎么解析html模板

一、写作背景

        最近接触了express的路由,感觉不是那么简单,以前接触过后端语言,而且自己做过项目,对路由并不陌生。但是可能是因为自己急于完成任务,只想着先完成任务,先把目的达到,照着葫芦画瓢,然后再慢慢搞懂每个的意思。但是越这样,就越搞不懂每个细节到底什么意思,看文档的时候就很紧张,然后陷入死循环,后来虽然做了出来,但是很多东西还是不懂,而且自己做的很不好,一点都不简洁,只想着赶紧做完,并没有完全弄懂。后来我老大帮我做好了一个模板发给我,让我照着写,下面把代码贴出来,如果以后遇到这类的问题,可以再过来看看。


二、操作步骤

        1、在项目根目录安装ejs

npm install --save ejs

        2、引入ejs插件

            打开项目入口文件,初始化node项目的时候默认的名字是index.js,我习惯用app.js,在项目入口文件里面引入刚才安装的ejs插件,这样以后就不用再引入了。

const ejs = require('ejs');

        3、设置 html 的模板引擎

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

        说明:这里的app在上面已经定义过,代码如下:

const express = require('express');
const app = express();

        4、设置视图引擎

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

        到这里就已经配置结束了,重启服务器之后就可以使用了,我认为只要是更改了配置信息,都需要重启服务器。但是光是配置好了还不行,还要学会怎么使用。


三、如何使用

        1、建立rotuter.js

            在 app.js (即该项目入口文件)同级的目录地方建立router.js文件,先不要管这里面写一些什么内容,首先要在入口文件里面引人刚才的router.js,这样项目跑起来的时候才能进入路由的文件,然后执行里面的代码,监控路由并返回相应的页面。然后在app.js里面写上如下代码,

const Router = require("./router.js");
app.use('/', Router);

        2、router里面的具体内容

const express = require('express');
const router = express.Router();

router.use(function timeLog(req, res, next) {
  next();
});

setRouter=(url,path)=>{
  router.get(url, function(req, res) {
    res.render(path);
  });
}

// 这里就是怎么使用路由
setRouter("/register","register");

module.exports = router;
        这里的setRouter是自己定义的名字,你可以定义自己喜欢的名字。然后这个目录部分到底怎么写,自己要注意一下,因为这个是我的项目里面的路径,你们可以根据自己本地的路劲写。如果实在不会写,可以多试试。


四、总结

        刚开始拿到这个问题的时候,我花了很长时间看express,但是还是感觉很多都不会,一度非常灰心,知道做出来之后终于感觉好一点,所以在这里把代码贴出来,以后如果自己忘了,再回来打开这个看看。

阅读更多
换一批

没有更多推荐了,返回首页