快速搭建express基本服务

const express = require('express')
const path = require('path')
const app = express()
const cors = require('cors')// 解决跨域问题
app.use(cors())
// 用来解析请求体中application/json数据
app.use(express.json())
// 用来解析请求体中application/x-www-form-urlencode
app.use(express.urlencoded({ extended: false }))
// 静态资源服务器,浏览器地址栏输入http://localhost:4000试一试吧,源文件在项目目录下的server文件夹里
app.use(express.static(path.join(__dirname, '/server')))// 演示GET请求
app.get('/shop/list', (req, res) => {const shopList = [{id: '001',shopName: 'JavaScript权威指南'}, {id: '002',shopName: 'JavaScript权威指南'}]// res.json()里面接受一个json格式的数据,此数据返回给前端res.json({code: 200,msg: '获取商品列表成功!',data: shopList,// 获取前端传递的url参数query: req.query})
})// 演示POST请求,:id是pramas路由传参风格
app.post('/submit/:id', (req, res) => {// 获取前端传递的url参数、请求体body参数、path传参的params参数const { query, body, params } = reqres.json({code: 200,msg: '接受到的参数body、query、params',body,query,params})
})// 演示服务器内部错误
app.get('/error', (req, res) => {const shopList = [{id: '001',shopName: 'JavaScript权威指南'}]res.json({code: 200,msg: '我是错误的JS代码',// 这样必会报错,该错误会被下面app.use(function(err,req,res,next))这个中间件捕获到data: shopList[1].id,})
})// 获取服务器内部错误的中间件
app.use(function (err, req, res, next) {const response = {code: 500,errmsg: '报错信息',detail: '服务器内部错误'}if (err) {response.errmsg = err.message}// res.status是返回状态码的意思res.status(500).json(response)
})// 服务器监听
app.listen(4000, () => {console.log('express服务启动!端口4000')
})

客户端验收:

<script>// 验证GET请求fetch('http://localhost:4000/shop/list?a=1', {method: 'GET',}).then(res=>res.json()).then(data=>{console.log(data);})// 验证服务端500错误fetch('http://localhost:4000/error', {method: 'GET',}).then(res=>res.json()).then(data=>{console.log(data);})// 验证POST请求fetch('http://localhost:4000/submit/express?name=1', {method: 'POST',headers: {'Content-Type': 'application/x-www-form-urlencoded'},body: {a:1}});
</script>

注意:fetch是HTML原生支持的ajax发送工具,不需要安装,是全局对象。很多人喜欢用第三方库axios但是其实fetch也是很牛的。

源码下载地址:下载源码
https://chengqige.com/express/express-start.zip

如何运行:解压即可运行!

运行方式:项目根目录打开终端,敲入npm start后回车

express快速入门【含源码压缩包下载】相关推荐

  1. OpenWrt 快速入门(源码目录)

    文章目录 1.OpenWrt 优点 2.OpenWrt 版本发展 3.OpenWrt 源码 缩略语(Acronyms and Abbreviations) OpenWrt(Wrt:Wirless Ro ...

  2. Html制作抖音网红时钟罗盘【含源码免费下载】

    需要源码 文末公众号回复[时钟]即可获得源码 废话不多说 直接看效果 由于代码过长 所以下文代码展示为部分代码 html代码 <!DOCTYPE html> <html lang=& ...

  3. Forest的快速入门以及源码解析

    文章目录 0x00:Forest源码分析(1) 0x01:简单使用 0x02:当你导入starter的时候, 它干了些啥 0x03 FactoryBean做了什么 0x05总结 0x00:Forest ...

  4. 人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载)

    人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载) 目录 人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载) 1. ...

  5. Ubuntu平台 常用插件下载(部分含源码)

    记录一些常用软件的下载地址,在ubuntu的apt命令不好用的时候可以自己去网站下载软件 常用工具系列 相关文章: Windows平台 常用开发工具下载 putty,Android Studio,Vi ...

  6. 资源:代码舞动动画 提供gif图片(含程序、源码、下载地址)

    资源:代码舞动动画 提供gif图片(含程序.源码.下载地址) 案例 · 教程 · 地址: 3行代码 为你的网站博客添加萌萌哒可爱二次元女动漫玩偶人物(看板娘) 抖音上爆红的美女动态代码图如何实现? 以 ...

  7. Markdown编辑器:纯前端演示(可接入项目、含源码下载) - 总结篇

    可接入项目,提供全部代码下载. 通过本地html静态文件,演示效果. Editor.md是一款开源的.可嵌入的 Markdown 在线编辑器(组件),基于 CodeMirror.jQuery 和 Ma ...

  8. CPython入门----Fork源码到自己github并下载配置本地git

    更多信息请关注 个人网站 一.基础准备工作 (1)首先在github注册一个自己的账号 (2)在windows上安装git,可参考 Git安装----Windows10系统 二.Fork源码 (1)打 ...

  9. Qt creator5.7 OpenCV249之图片灰度处理(含源码下载)

    我们先来看程序运行: 先了解下原理: 图像灰度化是指将彩色图片处理为256级的灰度图像. 公式为Gray=x*R+y*G+z*B Gray是当前像素的灰度值,x,y,z 是系数,R,G,B表示红绿蓝 ...

  10. Qt creator5.7 OpenCV249之resize函数(含源码下载)

    函数 void cv::resize( InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int inter ...

最新文章

  1. 通过 TaskScheduler 新建windows计划
  2. VTK:网格之ClipDataSetWithPolyData
  3. 一个三行两列右列固定左列自适应宽度的CSS
  4. 你知道char *s和char s[]的区别吗?
  5. Python学习笔记——GIF倒放处理
  6. 重磅公开!阿里语音识别模型端核心技术,让你“听”见未来
  7. OpenJudge NOI 1.6 07:有趣的跳跃
  8. python图纸教程_python入门教程 python入门神图一张
  9. 入侵检测系统_GIDS:基于GAN的车载网络入侵检测系统
  10. 使用C#: 自动切换鼠标的左右手习惯
  11. 排序算法第二篇——折半插入排序
  12. Vmware使用net模式共享虚拟机linux IP
  13. Chrome历史版本安装包下载
  14. Java根据信用卡号区分国际常用的五大信用卡卡种:VISA,Master,AE,DC,JCB.
  15. CTFHub-file_get_contents
  16. 基于深度学习的CNN边缘检测RCF--Richer Convolutional Features for Edge Detection
  17. SD-WAN 的架构是什么?
  18. Mac—删除默认英文输入法
  19. 你活着的意义是什么?(灵魂拷问)
  20. 单元格函数:count、countA、countBlank

热门文章

  1. java程序员的项目经历如何写,大量教程
  2. 昆仑通态复制的程序可以用吗_第478期丨相同功能带定时器的PLC程序怎么简化?非标设备出口到日本,应该怎么配电。...
  3. 利用遗传算法解决TSP问题
  4. oppo手机使用应用沙盒动态修改imei信息
  5. 【转】将 azw3 格式转换为 mobi 格式并保持原有排版格式
  6. CSS 实现文字头像(圆角头像文字内容)
  7. 通过使用 NTLite 工具实现精简Windows系统
  8. 进销存excel_Excel进销存管理套表,自动库存显示应收应付,全函数快捷轻松
  9. Intellij IDEA 中使用 JUnit4 进行单元测试
  10. 抖音及其他app对xp框架的检测原理刨析和反制方法