Vue + Node.JS + MySQL 项目的基础搭建和踩坑

939 阅读3分钟

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情

首先我们从后端开始入手,这边我是用的是centos7安装的宝塔面板,如果不会安装宝塔面板可以去宝塔官网看看使用方法宝塔linux面板,一键安装LAMP/LNMP/SSL/Tomcat (bt.cn)

在宝塔中安装好 node.js, nginx , mysql , php7.1(推荐) ,pm2管理器,随后就开始项目的进行吧!

Node.js连接MySql教程和遇到的问题

一、首先把基础搭建好,配置好服务器运行的环境

1. 在宝塔面板的软件商店中安装以下软件(版本可自行选择)

  • MySQL 5.6.50
  • PHP-7.1
  • phpMyAdmin 5.0

2. 安全设置中放行端口

  • 放行3306端口 - MySQL服务默认端口
  • 放行888端口 - phpMyAdmin默认端口

3. 打开phpMyAdmin管理 => php版本 => 从纯静态改为你安装的php版本

4. 在宝塔面板 => 数据库中添加一个数据库并设置好用户名和密码,然后点击右侧的管理,即可跳转到phpMyAdmin管理数据库

  • 若跳转出现405错误,请确认2. 和 3. 是否正常设置
  • 若跳转出现无法访问的错误,请确认服务商策略组是否放行888端口
  • 若以上都设置好仍然无法访问,请重新安装最新版的phpMyAdmin

二、在服务器中新建一个文件夹,文件夹中创建一个server.js

1. 在新建的文件夹中运行以下安装命令

npm i mysql

// 非全局安装,安装在当前项目下
npm install express

2. 编辑server.js 文件的内容

// 导入mysql模块
var mysql = require("mysql")
// 导入express框架
const express = require('express')
// 把express 方法付给app 
const app = express()
console.log('服务启动中...')

// 进行连接配置
var db = mysql.createConnection({
    host     :'localhost',
    user     :'test', //根据你数据库的名称
    password :'', //密码
    database :'test'  //数据库名
})

// 服务启动时就连着数据库
db.connect(function(err){
    if(err){
        console.log('连接数据库错误:'+err);
        console.log(' ----------------------------end--------------------------------')
        return;
    }
    console.log('数据库连接成功')
});


// 查询数据库语句
var sql = 'SELECT * FROM 数据库表名'

app.get('*', (req, res) => {
    console.log('请求的',req.originalUrl)
        //查询数据库
        db.query('SELECT * FROM 数据库表名',function (err, result) {
                if(err){
                  console.log('[SELECT ERROR]异常 - 查询失败 -',err.message);
                  return;
                }
              console.log('****连接成功****')
              res.send(result)
              console.log('****推送成功****');
              console.log('----------------------------end--------------------------------');  
        });
})

// 断开数据库连接,如果数据库需要经常被访问到或者作为api访问则不需要时刻断开连接
// connection.end();

app.listen(9001, () => {
       console.log('数据库服务已启动!9001');
});
  • 记得放行9001端口喔

3. 命令node server.js测试连接成功,成功获取到数据库表的内容

连接成功

服务端命令窗口先不要关闭

接下来进行前端界面的连接

1. 安装axios

npm install --save axios

2. 引入axios

  • 方式一:在页面中引入
import axios from "axios"
  • 方式二:在入口文件-全局文件中引入
import axios from 'axios'
new Vue({ 
   axios 
})

2. 在vue页面中写入代码

getMyNodeAPI(){
   let url="http://服务器ip:9001/" /*举例-我们刚刚创建的node.js文件*/
   axios.get(url).then(res=>{ 
      console.log(res) 
      let info = res
      // 具体渲染到页面代码省略
      //要看具体请求回来的数据 
   }).catch((err)=>{ 
      console.log(err); 
   })
}

3. 接下来运行vue项目到浏览器就可以看到数据啦(示例图)

成功图片


觉得文章还不错的请给我点赞吧!
鄙人的小站:BlueCat主页-蓝桉博客 (bluecatweb.top)
欢迎大佬们访问