美文网首页
express使用、中间件、模板引擎、静态文件、错误处理

express使用、中间件、模板引擎、静态文件、错误处理

作者: 666同学 | 来源:发表于2020-03-15 18:40 被阅读0次

express是什么

基于nodejs的web开发框架。

引言

旧时代用http模块实现服务器,太麻烦。

express步骤

npm install express(npm 安装express)

下面实现代码

const express = require("express");

const hostname = "localhost";

const port = 3000;

const app = express();

app.get("/", (req, res) => {

  res.render("hello word");

});

app.listen(port, () => {

  console.log(`server running at http:\\${hostname}:${port}/`);

});

简单web服务器创建完成。 node 执行js文件可以访问

编写一个中间件

理解中间件概念:将具体业务逻辑和底层逻辑解耦的组件。

express中中间件是一个具有特殊功能的函数

举例:function someMiddleware(req,res,next){

    //自定义逻辑

    next()

}

参数中,req和res就是前面提到的request请求对象和response响应对象,next触发下一个中间件的执行。

express中间件有两种方式:全局中间件和路由中间件。

全局中间件:

通过app.use函数就可以注册中间件并且此中间件会在用户发起任何请求都可能执行,例如:

app.use(someMiddleware)

路由中间件:

通过路由定义时注册中间件,此中间件只会在用户访问该路由对应的url时执行,例如:

app.get('/middleware',someMiddleware,(req,res)=>{

    res.send('hello word')

})

那么用户只有在访问/middleware时,定义的someMiddleware中间件才会被触发。

编写中间件loggingMiddleware(终端打印访问时间和url)

const express = require("express");

const hostname = "localhost";

const port = 3000;

const app = express();

function loggingMiddleware(req,res,next){

    const time = new Date()

    console.log(`[${time.toLocaleString()}] ${req.url}`)

    next()

}

app.use(loggingMiddleware)

app.get('/',(req,res)=>{

    res.send("hello word")

})

app.listen(port, () => {

  console.log(`server running at http:\\${hostname}:${port}/`);

});

使用模板引擎渲染页面

npm install ejs

创建views文件夹,放置模板

在views文件夹创建index.ejs代码如下

<h1>这是index.ejs</h1>

<h2 href="/second">链接到第二个模板</h2>

创建second.ejs

<h2>这是模板2页面</h2>

server.js代码

app.set('views','./views')

app.set('view engine','ejs')

app.get('/',(req,res)=>{

res.render('index')

})

app.get("/second",(req,res)=>{

    res.render('second')

})

再次运行服务器访问页面

添加静态文件服务

使用express.static

在根目录创建public/css/style.css

app.use(express.static('public'))即可

http:localhost:3000/css/style.css即可访问

在ejs模板使用<link rel="stylesheet" href="/css/style.css" />可以链接css文件

处理错误

app.use('*',(req,res)=>{

    res.status(404).send("404,访问页面不存在")

})

相关文章

  • Express学习

    使用中间件 Express 应用可使用如下几种中间件:* 应用级中间件* 路由级中间件* 错误处理中间...

  • node 中使用模板引擎

    在 Express 中使用 ejs 模板引擎 安装: 配置 Express 使用 ejs 模板 app.set('...

  • node一些npm记录

    非中间件 handlebars 模板引擎 nodemailer 邮件分发 中间件 需要依赖 connect包 静态...

  • express讲解

    启用服务 中间件 路由 错误处理和模板引擎 https://blog.csdn.net/px_blog/artic...

  • 8KOA 静态文件

    静态文件 使用 koa-static 中间件实现静态文件访问 安装中间件 使用中间件 使用 koa-mount 自...

  • 最最最简单的模板引擎

    分类:Express模板引擎定制 使用Express的 app.engine(ext,callback)接口来定制...

  • express API

    五部分 express.xxx-内置中间件 app.xXx-应用设置(如模板引擎、中间件、挂载路由) req.xx...

  • nodejs,express.js,mysql实现简单的登录,增

    首先在route文件夹内设置路由 mysql数据库连接文件如下 错误处理及通用中间件文件express.js文件如...

  • es6项目搭建

    express -e . express 脚手架启动命令 -e使用ejs模板引擎 .在当前目录执行

  • Express 静态文件访问 express.static

    图片,CSS样式文件JavaScript文件以及其他静态文件的服务,是通过Express内置的中间件"expres...

网友评论

      本文标题:express使用、中间件、模板引擎、静态文件、错误处理

      本文链接:https://www.haomeiwen.com/subject/dtgnehtx.html