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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2022最新淘宝商品详情接口采集方法

    2022最新淘宝商品详情接口采集方法最新淘宝商品详情接口采集

    2022年7月21日
    11
  • isNotEmpty 与 isNotBlank的区别「建议收藏」

    isNotEmpty 与 isNotBlank的区别「建议收藏」转自:http://www.zhenhua.org/article.asp?id=625 isNotEmpty将空格也作为参数,isNotBlank则排除空格参数参考QuoteStringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则

    2022年10月7日
    1
  • leetcode 回文数_字符串转换为整数

    leetcode 回文数_字符串转换为整数原题链接请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数(即,“1

    2022年8月9日
    2
  • Cocos2d-x 游戏存档[通俗易懂]

    Cocos2d-x 游戏存档

    2022年1月22日
    50
  • clion 2021 永久激活码破解方法

    clion 2021 永久激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    60
  • 内置函数和匿名函数

    内置函数什么是内置函数在聊内置函数之前,我们先来回顾一下普通函数的基础知识。问:函数怎么调用?答:函数名()现在我们在自己的程序里打印一下自己的名字,该怎么打的呀?print('x

    2022年3月29日
    42

发表回复

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

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