广告
返回顶部
首页 > 资讯 > 精选 >如何使用vue+node作后端连接数据库
  • 600
分享到

如何使用vue+node作后端连接数据库

2023-07-05 10:07:18 600人浏览 独家记忆
摘要

这篇文章主要介绍了如何使用Vue+node作后端连接数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用vue+node作后端连接数据库文章都会有所收获,下面我们一起来看看吧。1、编写node服务器先下

这篇文章主要介绍了如何使用Vue+node后端连接数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用vue+node作后端连接数据库文章都会有所收获,下面我们一起来看看吧。

1、编写node服务器

先下载几个依赖包

express(用于网络连接) 

npm i express --save

cors(用于处理跨域问题)

npm i cors --save

接下来好还需要处理一下前端传过来的数据,对于get请求无需特殊处理,但是对于post请求发送的数据类型取决于post请求头Content-type的类型。常见三种

multipart/fORM-data 、 application/x-www-form-urlencode 、 application/JSON(最常用)

这几种类型想要了解更多可自行百度

为了处理这几种类型需要下载几个依赖包

npm i body-parser --save
npm i connect-multiparty --save
 新建 index.js 文件
 const express = require('express')const app = express() const cors = require('cors') //解决跨域问题app.use(cors()) const bodyParser = require('body-parser')const multiparty = require('connect-multiparty')// 处理 x-www-form-urlencoded app.use(bodyParser.urlencoded({ extended: true }))// 处理 mutipart/form-dataapp.use(multiparty())// 处理 application/jsonapp.use(bodyParser.json()) //一个简单的测试接口app.get('/test',(req,res)=>{    res.send('测试用的接口')}) //监听node服务器的端口号app.listen(3000, () => {console.log('恭喜你,服务器启动成功')})

 接下来启动node服务器。进入对应的index.js所在的文件夹,在搜索栏输入cmd按回车进入终端

如何使用vue+node作后端连接数据库

启动刚才编写的index.js文件

如何使用vue+node作后端连接数据库

然后打开浏览器输入 localhost:3000/  

 3000端口号是我们刚才监听时使用的,是我们的node服务的端口号

如何使用vue+node作后端连接数据库

到这我们已经完成了服务器的搭建,并且写了一个简单的接口 !

2、用node连接数据库

先下载一个依赖 Mysql (用于连接数据库)

npm i mysql --save

新建一个mysql.js文件,和index.js 同级目录哦

 const mysql = require('mysql')//连接数据库的配置信息const db_config = { host: 'localhost', //本地都是localhostuser: 'root', //账户名passWord: '12345', //密码port: '3306', //端口号database: 'demo' //数据库的名称} function conMysql(sql) {    //创建数据库连接池let Myconnect = mysql.createConnection(db_config)//开始连接数据库Myconnect.connect(function (err) {if (err) {console.log(`myqsl连接失败:${err}!`)} else {console.log('恭喜哦,mysql连接成功哦')}}) //因为query查询是一个异步操作,所以用promise来操作return new Promise((resolve, reject) => {        //query() 函数用于mysql语句查询connect.query(sql, (err, result) => {if (err) {reject(err)} else {let res = JSON.parse(JSON.stringify(result))closeMysql(connect)  //调用函数关闭mysql连接resolve(res)}});})} //关闭mysql数据库的函数function closeMysql(Myconnect) {Myconnect.end((err) => {if (err) {console.log(`mysql关闭失败:${err}!`)} else {console.log('mysql关闭成功')}})} //导出conMysql函数exports.conMysql = conMysql

连接数据库的函数已经写好并导出,接下来就要在刚刚写完的index.js文件里接着往下写一个简单数据库查询接口

 const express = require('express')const app = express() const cors = require('express') //解决跨域问题app.use(cors()) const bodyParser = require('body-parser')const multiparty = require('connect-multiparty')// 处理 x-www-form-urlencoded app.use(bodyParser.urlencoded({ extended: true }))// 处理 mutipart/form-dataapp.use(multiparty())// 处理 application/jsonapp.use(bodyParser.json())//导入我们上一步写的连接数据库的函数const {conMysql} = require('./mysql')//创建统一的返回报文对象class Response {constructor(isSucceed, msg, code, data) {this.isSucceed = isSucceed;this.msg = msg;this.code = code;this.data = data;}} //一个简单的测试接口app.get('/test',(req,res)=>{    res.send('测试用的接口')}) //一个简单的接口,查询数据库中的信息app.get('/getUser', (req, res) => {let sql = 'select * from test'conMysql(sql).then(result => {res.send(result)})}) //监听node服务器的端口号app.listen(3000, () => {console.log('恭喜你,服务器启动成功')})

贴一下我的数据库的表

如何使用vue+node作后端连接数据库

 在浏览器输入我们刚才写的接口地址

如何使用vue+node作后端连接数据库

 ok,到这我们已经成功连接上数据库并进行了数据的查询

3、编写前端页面

用vue的脚手架新建一个vue项目

贴一下我的项目目录

如何使用vue+node作后端连接数据库

 写一个前端展示的界面

<template><div>        <input v-model="user" placeholder="输入用户名查询用户信息"><button @click="getUser">点击获取用户信息</button></div></template> <script>export default {name: 'userInfor',data() {return {userInfo: '',user: '',}},methods: { },created() { }}</script> <style></style>

接下来我们还需要安装axiOS依赖包,用于发送网络请求给后端

npm i axios --save

对axios二次封装

在axios文件夹下新建一个index.js 文件

import Axios from 'axios'const instance = Axios.create({baseURL: '/api'}) instance.interceptors.request.use((config) => {console.log(config, '发送请求前config信息')return config}, err => {return Promise.reject(err)}) instance.interceptors.response.use((res) => {console.log('接受的数据')return res.data}, err => {return Promise.reject(err)}) export default instance

 在同级目录下新建一个api.js文件,用于统一处理接口

import request from './index' //获取用户信息接口export const getUserInfo = (data) => request.get('/getUserInfo', { params: data })

在刚才我们写node服务器的index.js文件里面添加一个根据用户id查询信息的后端接口

 const express = require('express')const app = express() const cors = require('express') //解决跨域问题app.use(cors()) const bodyParser = require('body-parser')const multiparty = require('connect-multiparty')// 处理 x-www-form-urlencoded app.use(bodyParser.urlencoded({ extended: true }))// 处理 mutipart/form-dataapp.use(multiparty())// 处理 application/jsonapp.use(bodyParser.json())//导入我们上一步写的连接数据库的函数const {conMysql} = require('./mysql')//创建统一的返回报文对象class Response {constructor(isSucceed, msg, code, data) {this.isSucceed = isSucceed;this.msg = msg;this.code = code;this.data = data;}}  //一个简单的测试接口app.get('/test',(req,res)=>{    res.send('测试用的接口')}) //一个简单的接口,查询数据库中的信息app.get('/getUser', (req, res) => {let sql = 'select * from test'conMysql(sql).then(result => {res.send(result)})})//根据前端传过来的id查询数据库中对应的id的信息app.get('/getUserInfo', (req, res) => {let sql = `select * from test where user = '${req.query.user}'`conMysql(sql).then(result => {let response = new Response(true, '获取成功', 200, result)res.send(response)}).catch(err => {res.status(500).send('数据库连接出错!')})}) //监听node服务器的端口号app.listen(3000, () => {console.log('恭喜你,服务器启动成功')})

贴一下我的目录

如何使用vue+node作后端连接数据库

 ok,到这里我们已经把前端的接口也写完了

接下来我们处理跨域问题,为什么跨域了,因为前端一般用的本地端口是8080,我们刚刚写的node服务器用的接口是3000,不同的端口就出现了跨域。

我们在根目录下新建一个 vue.config.js 文件,一般用脚手架建立的vue项目都自带这个文件

const { defineConfig } = require('@vue/cli-service')module.exports = defineConfig({  transpileDependencies: true,}) module.exports = {  devServer: {    proxy: {      '/api': {        //target 我们要连接的后端地址        target: 'Http://localhost:3000',        changeOrigin: true, //是否跨域        pathRewrite: { '^/api': '' }      },    },  },}

ok,到这一步跨域也搞定了,接下来就是前后端交互了

4、前后端交互

在刚才写的前端展示界面调用接口

<template><div>        <input v-model="user" placeholder="输入用户名查询用户信息"><button @click="getUser">点击获取用户信息</button><span>{{userInfo}}</span></div></template> <script>//导入我们之前写的接口import { getUserInfo } from '@/axios/api'export default {name: 'userInfor',data() {return {userInfo: '',user: '',}},methods: {        async getUser() {let res = await getUserInfo({ user: this.user })console.log(res, '/api', '获取的用户信息')this.userInfo = res.data},},created() { }}</script> <style></style>

启动前端项目,启动node服务,打开浏览器进入项目输入数据库中的任意一个user

如何使用vue+node作后端连接数据库

如何使用vue+node作后端连接数据库

关于“如何使用vue+node作后端连接数据库”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“如何使用vue+node作后端连接数据库”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 如何使用vue+node作后端连接数据库

本文链接: https://www.lsjlt.com/news/351178.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用vue+node作后端连接数据库
    这篇文章主要介绍了如何使用vue+node作后端连接数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用vue+node作后端连接数据库文章都会有所收获,下面我们一起来看看吧。1、编写node服务器先下...
    99+
    2023-07-05
  • 手把手带你使用vue+node作后端连接数据库
    目录1、编写node服务器2、用node连接数据库3、编写前端页面4、前后端交互结束ok,让我们开始吧 1、编写node服务器 先下载几个依赖包 express(用于网络连接)&nb...
    99+
    2023-03-09
    vue怎么请求后端数据 node如何与vue一起用 vue node 后端连接数据库
  • vue项目使用node连接数据库的方法(前后端分离)
    目录写在前面编写顺序开始2.制作后端 node 服务器3.编写 node 连接数据库4.实现登录、修改密码和获取用户信息接口5.完成前后端交互结束学习关键语句:vue连接mysql数...
    99+
    2022-12-22
    vue使用node连接数据库 vue前后端分离项目
  • node中如何使用Nest.js连接MongoDB数据库
    node中如何使用Nest.js连接MongoDB数据库,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在学习 Nest 与数据库进行连接时...
    99+
    2022-10-19
  • 初步使用Node连接Mysql数据库
    使用Node做Web页面开发,基本上是连接非关系型数据库mongodb,而这里我还是先尝试连接了一下mysql数据库,因为相对于mysql来说mongodb过于生疏,想着快速出来页面,所以选择相对熟悉一些的...
    99+
    2022-06-04
    数据库 Node Mysql
  • Java操作数据库——使用连接池连接数据库
    传统方式和连接池方式传统方式的步骤使用传统方式在Java中使用JDBC连接数据库,完成一次数据库的操作,一般有以下几个步骤: 加载驱动。 建立连接。 执行SQL语句。 释放连接。 传统方式的弊端每一次对数据库的操作都要建立一次连接,并且会将...
    99+
    2014-08-26
    java基础 java 连接池
  • 如何使用instantclient客户端连接oracle数据库
    本篇内容介绍了“如何使用instantclient客户端连接oracle数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!(1)首先下载i...
    99+
    2023-06-30
  • Spring mvc是如何实现与数据库的前后端的连接操作的?
    Spring mvc与数据库的前后端的连接 springboot是基于maven的基础上管理jar包的,只不过是使用springboot下载jar包只需选中即可,就会自动的在pom....
    99+
    2022-11-12
  • mysql.sock丢失后如何连接数据库
    防伪码:没有相当程度的孤独是不可能有内心的平和。【现象】mysql.sock被删除,导致无法连接数据库。[root@MySQL-01 ~]#mysql -uroot -p En...
    99+
    2022-10-18
  • gitlab搭建后如何连接数据库
    本文小编为大家详细介绍“gitlab搭建后如何连接数据库”,内容详细,步骤清晰,细节处理妥当,希望这篇“gitlab搭建后如何连接数据库”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、安装数据库首先需要安装数据...
    99+
    2023-07-06
  • SpringBoot如何连接MySQL获取数据写后端接口
    这篇文章将为大家详细讲解有关SpringBoot如何连接MySQL获取数据写后端接口,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.新建项目2.添加依赖<dependency> &...
    99+
    2023-06-25
  • Vue项目通过node连接MySQL数据库并实现增删改查操作
    Vue项目通过node连接MySQL数据库 1.创建Vue项目 vue create 项目名 Vue项目创建的详细步骤,有需要的可移步这里 2.下载安装需要的插件 下载express npm install express 下载cors,用...
    99+
    2023-08-16
    mysql 数据库 vue.js node.js
  • 使用instantclient客户端连接oracle数据库
    (1)首先下载instantclient_11_2 (解压如下) 修改instantclient_11_2/tnsnames.ora 文件,将你需要链接的oracle服务器地址写上...
    99+
    2022-11-13
  • Spring mvc实现与数据库的前后端的连接操作的方法
    本篇内容主要讲解“Spring mvc实现与数据库的前后端的连接操作的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring mvc实现与数据库的前后端的连接操作的方法”吧!Spring...
    99+
    2023-06-20
  • 如何使用PHP7连接数据库
    这篇文章给大家介绍如何使用PHP7连接数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。mysqli面向对象风格<php$serve = 'localhost:3306';$...
    99+
    2023-06-15
  • 如何使用python连接数据库后通过占位符添加数据
    这篇文章主要介绍了如何使用python连接数据库后通过占位符添加数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在SQL语句中如果定义字符串,则字符串必须使用“'”...
    99+
    2023-06-22
  • win7客户端如何连接CentOS6.6 MySQL数据库
    这篇文章将为大家详细讲解有关win7客户端如何连接CentOS6.6 MySQL数据库 ,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。服务器端:OS : &...
    99+
    2022-10-18
  • Flask数据库如何连接与使用
    本篇内容主要讲解“Flask数据库如何连接与使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Flask数据库如何连接与使用”吧!数据库连接配置HOST = "XX...
    99+
    2023-07-05
  • c3p0数据库连接池如何使用
    这期内容当中小编将会给大家带来有关c3p0数据库连接池如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、jar包引用开源项目,自然要先下载人家的jar包,我这里有...
    99+
    2022-10-18
  • 如何使用instantclient连接oracle数据库
    本篇内容主要讲解“如何使用instantclient连接oracle数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用instantclient连接o...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作