Nodejs后端框架搭建(express)

Nodejs后端框架搭建(express)文章目录1.node简介2.Express简介3.项目初始化4.Express三大基础概念(扩展)1.node简介Node是一个基于V8引擎的Javascript运行环境,它使得Javascript可以运行在服务端,直接与操作系统进行交互,与文件控制、网络交互、进程控制等2.Express简介express是一个轻量级的NodeWeb服务端框架,同样是一个人气超高的项目,它可以帮助我们快速搭建基于Node的Web应用3.项目初始化1.创建项目首先你得创

大家好,又见面了,我是你们的朋友全栈君。

1.node简介

Node 是一个基于 V8 引擎的 Javascript 运行环境,它使得 Javascript 可以运行在服务端,直接与操作系统进行交互,与文件控制、网络交互、进程控制等

2.Express 简介

express 是一个轻量级的 Node Web 服务端框架,同样是一个人气超高的项目,它可以帮助我们快速搭建基于 Node 的 Web 应用

3.项目初始化

1.创建项目
首先你得创建项目的根目录,然后输入下面命令初始化项目:

npm init -y

2.安装依赖

npm i express --save

3.创建app.js

const express = require('express')

// 创建 express 应用
const app = express()

// 监听 / 路径的 get 请求
app.get('/', function(req, res) { 
   
  res.send('hello node')
})

// 使 express 监听 5000 端口号发起的 http 请求
const server = app.listen(5000, function() { 
   
	console.log("服务器已启动,监听5000端口");
})

4.启动服务器

	node app.js

此时,在浏览器输入localhost:5000即可访问服务器。

4.Express三大基础概念(扩展)

1.中间件

中间件是一个函数,在请求和响应周期中被顺序调用

实例:

const myLogger = function(req, res, next) { 
   
  console.log('myLogger')
  next()
}

app.use(myLogger)

提示:中间件需要在响应结束前被调用。

2.路由

应用如何响应请求的一种规则

示例:
1.响应 / 路径的 get 请求:

app.get('/', function(req, res) { 
   
  res.send('hello node')
})

2.响应 / 路径的 post 请求:

app.post('/', function(req, res) { 
   
  res.send('hello node')
})

规则主要分两部分:

请求方法:get、post…
请求的路径:/、/user、/.*fly$/…

3.异常处理:

通过自定义异常处理中间件处理请求中产生的异常

app.get('/', function(req, res) { 
   
  throw new Error('something has error...')
})

const errorHandler = function (err, req, res, next) { 
   
  console.log('errorHandler...')
  res.status(500)
  res.send('down...')
}

app.use(errorHandler)

使用时需要注意两点:

  • 参数一个都不能少,否则会被视为普通的中间件
  • 中间件需要在请求之后引用

如果想要学习更多关于nodejs写接口可以看我 这篇博客

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142744.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 伪随机数算法_伪随机数预测工具

    伪随机数算法_伪随机数预测工具Random转载内容,有更改,感谢原作者(http://www.cnblogs.com/softidea/p/5824240.html#3697214)Java中的Random类生成的是伪随机数,

    2022年8月1日
    6
  • 2021-11-13 2021年煤矿井下电气考试题库及煤矿井下电气考试资料

    2021-11-13 2021年煤矿井下电气考试题库及煤矿井下电气考试资料题库来源:安全生产模拟考试一点通公众号小程序安全生产模拟考试一点通:煤矿井下电气考试题库是安全生产模拟考试一点通总题库中生成的一套煤矿井下电气考试资料,安全生产模拟考试一点通上煤矿井下电气作业手机同步练习。2021年煤矿井下电气考试题库及煤矿井下电气考试资料1、【多选题】短路电流的大小与()有关。(BCDE)A、电动机的额定功率B、电缆的长度C、电缆的截面D、电网电压E、变压器的容量F、电动机的负荷2、【多选题】漏电保护方式主要有()。(ABC)A、附加直流电源式B

    2022年9月26日
    3
  • manifest 文件作用「建议收藏」

    信息:未找到WinSxS中的程序集。信息:尝试在C:\Windows\assembly\GAC_32\Microsoft.VC80.CRT\8.0.50727.6195__1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.DLL上探测指令清单。信息…

    2022年4月11日
    61
  • HTML上document的方法

    HTML上document的方法document:属性document.title//设置文档标题等价于HTML的<title>标签document.bgColor//设置页面背景色document.fgColor

    2022年7月1日
    29
  • redis 写入数据 越来越慢 是什么原因

    redis 写入数据 越来越慢 是什么原因

    2021年10月16日
    61
  • 计算机网络基础知识整理大全_计算机基础知识题库

    计算机网络基础知识整理大全_计算机基础知识题库计算机网络基础知识一.因特网概述1.网络,互联网和因特网2.因特网发展的三个阶段3.因特网的标准化工作4.因特网的组成二.三种交换方式1.电路交换(CircuitSwitching)2.分组交换(PacketSwitching)3.报文交换(MessageSwitching)4.电路交换,报文交换,分组交换三者区别三.计算机网络的定义和分类1.计算机网络的定义2.计算机网络的分类一.因特网概述1.网络,互联网和因特网网络:由若干个结点和连接这些结点的链路(有限链路和无

    2025年11月7日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号