Vue-Element-Admin项目学习笔记(7)用Node.js写一个简单后端接口

news2024/10/7 8:22:29

前情回顾:

vue-element-admin项目学习笔记(1)安装、配置、启动项目
vue-element-admin项目学习笔记(2)main.js
文件分析
vue-element-admin项目学习笔记(3)路由分析一:静态路由
vue-element-admin项目学习笔记(4)路由分析二:动态路由及permission.js
vue-element-admin项目学习笔记(5)路由分析三:动态路由匹配逻辑
Vue-Element-Admin项目学习笔记(6)Vuex状态管理

大家都知道,我们使用Vue做的很多项目,都是前后端分离的架构。

但是很多小伙伴并没有后端开发经验或者基础。

为了能让Vue-Element-Admin这个项目联调顺利进行,今天发一篇简单利用node.js实现后端接口的文档,希望能够帮到大家。

1、安装环境

前提是,你的计算机上安装了node.js,终端(命令行)执行命令node -v如果能看到版本号,就是安装了。否则,先去安装。

然后,在任意目录下,新建目录,如:test

然后终端(命令行)进入目录,执行:

npm install express --save

这一步是安装所需要的模块。

在这里插入图片描述
执行完,可见test文件夹中,多了如上文件和目录,安装成功。

2、新建入口文件

test文件夹中,新建一个文件:index.js

该文件,就是我们的核心文件了。

3、实现代码

将下列代码复制、粘贴进刚刚我们新建的index.js文件中。

具体接口,按自己的需求调整就行。

注释写的很详细。

// 导入依赖包
const express = require('express');
// 导入express 赋给 app变量 后面使用
const app = express();
// 导入依赖包,用于将请求参数转化为json
const parser = require('body-parser');
app.use(parser.json());

// 定义一个返回json 
const userInfo = {
	code: 200,
	msg: 'success',
	data: {
		name:'admin',
		avatar:'http://img.duoziwang.com/2021/04/07242259901688.jpg',
		introduction:'我是一个码农啊',
		roles:['admin']
	}
};

// 为app添加中间件处理跨域请求 
app.use(function (req, res, next) {
	res.header('Access-Control-Allow-Origin', '*');
	res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
	res.header('Access-Control-Allow-Headers', 'X-Requested-With');
	res.header('Access-Control-Allow-Headers', 'Content-Type');
	next();
});
 

// 实现了一个post监听的接口,接口路径 /api/user/login
//req 请求来的参数
//res  用于响应
app.post('/api/user/login', (req, res) => { 
	console.log(req.query);
	console.log(req.body); 
	if (req.body['username']==='admin' && req.body['password']==='123456') {
		res.send({ code: 200, msg: 'success', data: { token: 'fangdong-test-token' }});
	} else {
		res.send({ code: 201, msg: '用户名或密码不正确'});
	}
});


// 实现了一个post监听的接口,接口路径 /api/user/logout
//req 请求来的参数
//res  用于响应
app.post('/api/user/logout', (req, res) => {
	console.log('----------------------------------------');	
	console.log('POST:->  /api/user/logout');	
	console.log(req.query);
	console.log(req.body); 
	console.log('----------------------------------------'); 
	res.send({ code: 200, msg: 'logout success'});
 
});


// 实现了一个监听的接口,接口路径 /api/user/info
//req 请求来的参数
//res  用于响应
app.get('/api/user/info', (req, res) => {  
	console.log('token校验成功!')
	res.send(userInfo); 
});


// 监听9900端口
app.listen(9900, () => {
	console.log('服务器运行在9900');
});

4、运行接口程序

test目录下执行:node index.js
在这里插入图片描述
此时,可以通过POSTMAN等方式访问接口了
也可以自己写一写业务逻辑。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Opencv-C++笔记 (3) : opencv的库介绍以及和C++对接转换

文章目录 一、Opencv库的介绍calib3dcontribcoreimgprocfeatures2dflannhighguilegacymlnonfreeobjdetectoclphotostitchingsuperrestsvideoVideostab 二、C和MAT 转换方式2.1、一维Vector2.2、二维vector2.3 数组2.4、类型转换 ——一维转 数组2.5、类型转换 -------- 一维MAT…

抖音同城榜相关介绍来啦,这篇文不若与众带你去详细了解它

一、抖音同城榜是什么? 抖音同城榜是抖音平台上的一个功能,它可以根据用户所在的地理位置,推荐附近热门的视频和达人。用户可以通过同城榜来了解当地的热门话题、美食、景点等信息,也可以通过同城榜认识志同道合的朋友和达人&…

DTD怎样进行元素类型定义?【语法格式】

Bootstrap常用组件包括按钮、导航、菜单和表单等。使用Bootstrap不需要编写复杂的样式代码,只需要使用Bootstrap组件就可以实现复杂的页面架构。下面将对Boolstrap按钮组件进行详细讲解。 Bootstrap提供了多种样式的按钮,每个样式的按钮都有自己的语义用…

动态规划:最长公共子序列

动态规划:最长公共子序列 前言一、动态规划 前言 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在…

练习1:线性回归

练习1:线性回归 介绍 在本练习中,您将 实现线性回归并了解其在数据上的工作原理。 在开始练习前,需要下载如下的文件进行数据上传: ex1data1.txt -单变量的线性回归数据集ex1data2.txt -多变量的线性回归数据集 在整个练习中&…

【IMX6ULL驱动开发学习】09.Linux驱动之GPIO中断(附SR501人体红外感应驱动代码)

Linux驱动的GPIO中断编程主要有以下几个步骤: 1、 通过GPIO号获取软件中断号 (中断编程不需要设置GPIO输入输出,当然申请GPIO,设置输入也没问题) int gpio_to_irq(unsigned int gpio)参数含义gpioGPIO引脚编号 2、 注册中断处理函数&#…

k8s中docker0默认ip修改

原因: 由于ip冲突,必须要修改docker0的默认ip 过程: (1)修改文件 /etc/docker/daemon.json 添加内容 “bip”: “ip/netmask” [ 切勿与宿主机同网段 ] (2) (3)重启docke…

视觉SLAM十四讲——ch9实践(后端1)

视觉SLAM十四讲——ch9的实践操作及避坑 0.实践前小知识介绍0.1 数据集的使用 1. 实践操作前的准备工作2. 实践过程2.1 Ceres BA2.2 g2o求解BA 3. 遇到的问题及解决办法3.1 查看.ply文件时报警告 0.实践前小知识介绍 0.1 数据集的使用 Ceres BA使用的是BAL数据集。在本例中&a…

为什么说2023年最难招聘的岗位是高性能计算工程师?

随着毕业季的临近,高校毕业生将进入就业关键阶段。据统计,2023届全国高校毕业生预计达到1158万人,同比增加82万人,再创新高。尽管有千万的大学毕业生,但是企业反馈依然很难招聘到合适的高性能计算工程师。 这主要归因于…

看到就赚到的5款小众软件

今天推荐5款十分小众的软件,知道的人不多,但是每个都是非常非常好用的,有兴趣的小伙伴可以自行搜索下载。 图文识别——PandaOCR PandaOCR是一款用于识别和转换图片中的文字的工具。它可以让你对任何格式的图片进行文字识别,并输…

STM32速成笔记—按键检测

如果需要本文程序工程,请评论区留邮箱或者私信。 文章目录 一、按键检测原理二、硬件连接三、程序设计3.1 初始化GPIO3.2 按键扫描函数 四、按键控制LED4.1 初始化LED和KEY的GPIO4.2 编写按键扫描函数4.2 编写LED控制函数4.3 编写按键服务函数 五、拓展5.1 一个按键…

如何使用二维码实现配电箱巡检

施工工地的外部环境条件恶劣,加之工地上机动车辆的运行和机械设备的应用,均易导致电气故障的发生。现场配电箱缺乏专业技术人员的管理,易造成触电伤害、火灾等事故。现场纸质巡检存在以下问题: 1、信息查询不便:配电箱信息、负责人,历史巡检维…

Flowable服务组件-扩展组件

Flowable服务组件-扩展组件 扩展组件 文章目录 Flowable服务组件-扩展组件前言Flowable给我们提供了非常丰富的组件,但是在实际场景中,我们有需要企业个性化的组件,如何扩展自己的组件至关重要 一、扩展微服务回调组件二、程序步骤1.定义我们…

618父亲节,感恩的祝福送给父亲!

父亲节(Fathers Day),是感恩父亲的节日。Fathers day, is a day of thanksgiving for fathers. 第一个提出父亲节理念的人是1906年的多德夫人。她想用一个特殊的日子来纪念她的父亲,她的妈妈多年前就去世了。起初,多德…

1.4 场效应管

1.什么是场效应管? 场效应管(Field-Effect Transistor,简称FET)是一种基于电场效应调控电流的三端器件。它是一种用于电子电路中的重要元件,常用于放大信号、开关电路和模拟电路等应用。 场效应管主要由一个导电的沟…

git 的详细介绍使用

点击下载:Git下载地址 下载完成后在本地文件夹空白位置右键能看到即为安装成功 git简介:git是一个版本控制系统,见下方图详解 快速查看git的全局配置项 git config --list --global 查看指定的全局配置项 git config user.name git conf…

【Git删除大文件失败,提示WARNING: Ref ‘refs/heads/master‘ is unchanged的解决思路】

1. 问题描述 最近使用Gitee一直在独立开发某个项目,某次因为某个测试文件比较大,超过了100MB,gitee无法接受,上传失败。但是当时我没有发现上传失败,就没有处理,等到今天发现的时候,已经提交过…

Low-Light Image Enhancement with Wavelet-based Diffusion Models

Abstract 扩散模型在图像恢复任务中取得了很好的效果,但存在时间长、计算资源消耗大、恢复不稳定等问题。为了解决这些问题,我们提出了一种鲁棒和高效的基于扩散的微光图像增强方法,称为DiffLL。具体来说,我们提出了一个基于小波…

Vulnhub靶机:ME AND MY GIRLFRIEND_ 1

目录 介绍信息收集主机发现主机信息探测 网站探测SSH爆破 & 提权 介绍 系列:Me and My Girlfriend(此系列共1台) 发布日期:2019 年 12 月 13 日 难度:初级 运行环境:VMware 目标:取得 root…

Linux——MySQL数据库部署及自建数据库mysql-yum仓库

😘作者简介:正在努力的99年打工人。 👊宣言:人生就是B(birth)和D(death)之间的C(choise),做好每一个选择。 🙏创作不易,动…