node.js项目express的初始化

目录

  • 1.初始化项目
  • 2.配置跨域
  • 3.开始编写API
    • 3.1准备
    • 3.2路由处理函数router_make下的user.js
    • 3.3路由模块router下的user.js
    • 3.4入口文件app.js里面去新增这段代码
    • 3.5启动项目进行测试


👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!


1.初始化项目

在D盘新建一个文件夹,文件夹命名为api
在这里插入图片描述
将文件夹拖拽到vscode上面进行打开
在这里插入图片描述
新建一个终端
在这里插入图片描述
输入 npm init -y,初始化包管理工具
在这里插入图片描述
在这里插入图片描述
输入npm i express,安装express框架
在这里插入图片描述
在这里插入图片描述
新建一个app.js作为入口文件,然后写上初始语句

// 导入express模块
const express = require('express')
// 创建 web 服务器
const app = express()
// 启动 web 服务器,指定本地地址以及端口号
app.listen(8082, () => {
 console.log('web server running at http://127.0.0.1:8082')
})

2.配置跨域

终端输入npm i cors,下载cors中间件
在这里插入图片描述
在app.js中输入代码进行使用

// 导入cors中间件
const cors=require('cors')
// 将cors注册为全局中间件
app.use(cors())

3.开始编写API

3.1准备

新建2个文件夹
一个用来存放路由模块router
一个用来存放路由处理函数router_make
在这里插入图片描述
以编写用户相关的API作为例子进行学习,在这部分你可以任意替换成其他你想写的相关路由
在路由模块router和路由处理函数router_make下新建一个js文件,用于存放关于用户的API user.js
编程思路是:调用API时从后端服务的入口文件app.js进行访问-》然后根据路径去访问路由中相对应的API->对应的API调用其路由处理函数

3.2路由处理函数router_make下的user.js

//在这里定义和用户相关的路由处理函数
//注册用户的处理函数
exports.regUser=(req,res)=>{
    res.send('reguser OK')
}
//登录用户的处理函数
exports.login=(req,res)=>{
    res.send('login OK')
}

3.3路由模块router下的user.js

//导入框架,创建路由对象,编写路由接口
//在路由组件编写好接口之后需要到app.js里去进行引用
const express=require('express')
//创建路由对象
const  router =express.Router()
//导入用户路由处理函数模块
const userHandler=require('../router_make/user')
//注册新用户
router.post('/reguser',userHandler.regUser)
//登录
router.post('/login',userHandler.login)
//抛出路由对象
module.exports=router

3.4入口文件app.js里面去新增这段代码

//导入并注册用户路由模块
const userRouter=require('./router/user')
app.use('/api',userRouter)

3.5启动项目进行测试

在写完之后打开终端启动运行项目
node .\app.js
在这里插入图片描述

使用postman进行测试本地接口
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/337512.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设备管理——WinCC 给你神助功

要实现“设备高效”,就必须“管之有道”,来自设备层的数据支撑将是必不可少的,提高设备效能的2个关键在于降低平时停机时间 (MDT) 和提高平均无故障时间 (MTBF)。通常来说,设备维护可大致可分为三个层次:纠正性维护&am…

[Tool] python项目中集成使用Firebase推送功能

背景介绍 目前,App推送功能已经非常普遍,几乎所有App都有推送功能。推送功能可以自己实现,也可以使用第三方提供的推送服务(免费的收费的都有)。本文主要介绍使用Firebase提供的推送服务Firebase Cloud Messaging&…

matlab appdesigner系列-常用13-标签

标签,用来显示各类文本 此示例,就是在标签之外的画布上单击鼠标左键,显示王勃的《滕王阁诗》 操作如下: 1)将2个标签拖拽到画布上,并修改相应文字。将第二个标签的右侧文本信息中的Wordwrap打开&#xf…

[自动化分布式] Zabbix自动发现与自动注册

abbix 自动发现(对于 agent2 是被动模式) zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。 缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大 部署 添加zabb…

六、标准对话框、多应用窗体

一、标准对话框 Qt提供了一些常用的标准对话框,如打开文件对话框、选择颜色对话框、信息提示和确认选择对话框、标准输入对话框等。1、预定义标准对话框 (1)QFileDialog 文件对话框 QString getOpenFileName() 打开一个文件QstringList ge…

uniapp组件库Popup 弹出层 的使用方法

目录 #平台差异说明 #基本使用 #设置弹出层的方向 #设置弹出层的圆角 #控制弹窗的宽度 | 高度 #内容局部滚动 #API #Props #Event 弹出层容器,用于展示弹窗、信息提示等内容,支持上、下、左、右和中部弹出。组件只提供容器,内部内容…

树的一些经典 Oj题 讲解

关于树的遍历 先序遍历 我们知道 树的遍历有 前序遍历 中序遍历 后序遍历 然后我们如果用递归的方式去解决,对我们来说应该是轻而易举的吧!那我们今天要讲用迭代(非递归)实现 树的相关遍历 首先呢 我们得知道 迭代解法 本质上也…

【征服Redis12】redis的主从复制问题

从现在开始,我们来讨论redis集群的问题,在前面我们介绍了RDB和AOF两种同步机制,那你是否考虑过这两个机制有什么用呢?其中的一个重要作用就是为了集群同步设计的。 Redis是一个高性能的键值存储系统,广泛应用于Web应用…

Python实现稳健线性回归模型(rlm算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 稳健回归可以用在任何使用最小二乘回归的情况下。在拟合最小二乘回归时,我们可能会发现一些…

人才测评,招聘工程技术经理胜任素质模型与任职资格

招聘工程技术经理是企业中的重要职位之一,为了确保招聘到胜任的人才,需要制定一个胜任力素质模型和任职资格。 1.专业知识技能:工程技术经理需要拥有深厚的专业技术知识,能够熟练掌握工程设计、生产制造、质量管理、安全管理等方面…

macOS 设置屏幕常亮 不休眠

Apple M1 Pro macOS Sonoma设置“永不”防止进入休眠 macOS Sonoma 设置“永不” 防止进入休眠

开源进程/任务管理服务Meproc使用之HTTP API

本文讲述如何使用开源进程/任务管理服务Meproc的HTTP API管理整个服务。 Meproc所提供的全部 API 的 URL 都是相同的。 http://ip:port/proc例如 http://127.0.0.1:8606/proc在下面的小节中,我们使用curl命令向您展示 API 的方法、参数和请求正文。 启动任务 …

Tensorflow 入门基础——向LLM靠近一小步

进入tensflow的系统学习,向LLM靠拢。 目录 1. tensflow的数据类型1.1 数值类型1.2 字符串类型1.3 布尔类型的数据 2. 数值精度3. 类型转换3.1 待优化的张量 4 创建张量4.1 从数组、列表对象创建4.2 创建全0或者1张量4.3 创建自定义数值张量 5. 创建已知分布的张量&…

Linux重定向:深入理解与实践

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:晴る—ヨルシカ 0:20━━━━━━️💟──────── 4:30 🔄 ◀️ ⏸ ▶️ ☰ &…

深度学习记录--Momentum gradient descent

Momentum gradient descent 正常的梯度下降无法使用更大的学习率,因为学习率过大可能导致偏离函数范围,这种上下波动导致学习率无法得到提高,速度因此减慢(下图蓝色曲线) 为了减小波动,同时加快速率,可以使用momentum…

linux内核原理--分页,页表,内核线性地址空间,伙伴系统,内核不连续页框分配,内核态小块内存分配器

1.分页,页表 linux启动阶段,最初运行于实模式,此阶段利用段寄存器,段内偏移,计算得到物理地址直接访问物理内存。 内核启动后期会切换到保护模式,此阶段会开启分页机制。一旦开启分页机制后,内…

Navicat平替工具,一款免费开源的通用数据库工具

前言 前段时间有小伙伴在群里提问说:因为公司不允许使用破解版的Navicat,有好用的Navicat平替工具推荐吗?今天分享一款免费开源的通用数据库工具:DBeaver。 DBeaver工具介绍 DBeaver是一款免费的跨平台数据库工具,适…

转转交易猫自带客服多模板全开源完整定制版源码

商品发布; 请在后台商品添加成功后, 再点击该商品管理,可重新编辑当前商品的所有信息及配图以及支付等等相关信息 可点击分享或者跳转,将链接地址进行发布分享 请在手机端打开访问 访问商品主要模板文件路径目录 咸鱼&#…

四个简单的bat脚本

Windows11 最大劝退点就是这个右键菜单,复制粘贴都变成一点点的小图标,最气人的是点击底部的显示更多选项才能展示全部功能。让许多本来点一次就能完成的操作变成两次。其实使用一个小命令就能修改回win10版本的菜单。四个简单的bat脚本,能完…

Java大型企业进销存系统

技术框架: SpringBoot Spring Data Jpa SpringMvc Shiro安全认证 完整权限系统 easyui 有需要的可以联系我。 运行环境: jdk8 IntelliJ IDEA maven 系统介绍: 导航菜单:系统菜单、销售管理、库存管理、统计报表、基础…
最新文章