而 Vue CLI(命令行界面)作为 Vue.js官方提供的脚手架工具,极大地简化了项目的创建和配置过程,让开发者能够更加专注于业务逻辑的实现
然而,一个完整的应用不仅仅是前端展示那么简单,它还需要与后端进行数据交互,以实现动态内容的展示和处理
MySQL,作为世界上最流行的开源关系型数据库管理系统之一,以其稳定、高效、易于使用的特点,成为了众多后端开发者的首选
本文将深入探讨如何通过 Vue CLI 与 MySQL 的无缝集成,构建一个高效的数据驱动前端应用
一、Vue CLI 快速上手 在正式探讨与 MySQL 的集成之前,让我们先简要回顾一下如何使用 Vue CLI 快速创建一个 Vue 项目
1.全局安装 Vue CLI: 首先,你需要确保你的计算机上安装了 Node.js 和 npm(Node 包管理器)
之后,通过以下命令全局安装 Vue CLI: bash npm install -g @vue/cli 2.创建新项目: 使用`vue create` 命令创建一个新的 Vue 项目
Vue CLI 会提供一个交互式界面,让你选择预设或自定义配置
bash vue create my-vue-app 3.启动开发服务器: 进入项目目录,运行以下命令启动开发服务器,默认端口为8080
bash cd my-vue-app npm run serve 至此,你已经拥有了一个基础的 Vue 项目结构,接下来我们将探讨如何与 MySQL 数据库进行集成
二、后端服务搭建:选择框架与连接 MySQL 为了实现前端与 MySQL之间的数据交互,我们需要一个后端服务作为桥梁
Node.js因其异步I/O模型和非阻塞特性,非常适合构建高性能的Web服务器
在这里,我们可以选择 Express.js,一个灵活且轻量级的 Node.js Web 应用框架
1.初始化 Node.js 项目: 在 Vue 项目同级目录下,创建一个新的 Node.js 项目
bash mkdir backend cd backend npm init -y 2.安装 Express 和 MySQL 相关依赖: bash npm install express mysql2 cors 3.创建服务器文件: 在`backend`目录下创建一个`server.js` 文件,用于设置 Express 服务器并连接 MySQL 数据库
javascript const express = require(express); const mysql = require(mysql2); const cors = require(cors); const app = express(); const db = mysql.createConnection({ host: localhost, user: root, password: yourpassword, //替换为你的MySQL密码 database: yourdatabase//替换为你的数据库名 }); db.connect(err =>{ if(err) throw err; console.log(MySQL connected...); }); app.use(cors()); app.use(express.json()); //示例路由:获取所有用户 app.get(/api/users,(req, res) =>{ let sql = SELECTFROM users; db.query(sql,(err, results) =>{ if(err) throw err; res.json(results); }); }); const PORT = process.env.PORT ||3000; app.listen(PORT,() =>{ console.log(`Server is running on port${PORT}`); }); 以上代码创建了一个简单的 Express 服务器,它监听在3000端口上,并允许跨域请求(CORS)
同时,它连接到了本地的 MySQL 数据库,并定义了一个`/api/users` 的 GET 接口,用于获取用户表中的所有数据
三、前端与后端的数据交互 现在,后端服务已经准备就绪,接下来我们将在 Vue 项目中配置 Axios,以便与后端进行 HTTP 请求
1.安装 Axios: 在 Vue 项目根目录下安装 Axios
bash npm install axios 2.创建服务文件: 在`src`目录下创建一个`services`文件夹,并在其中创建一个`api.js` 文件,用于封装所有 API 请求
javascript import axios from axios; const API_URL = http://localhost:3000/api; const apiClient = axios.create({ baseURL: API_URL, withCredentials: false, // 这取决于你的CORS设置 headers:{ Accept: application/json, Content-Type: application/json } }); export const fetchUsers =() =>{ return apiClient.get(/users); }; 3.在组件中使用 API: 在 Vue组件中导入并使用`fetchUsers` 函数来获取用户数据,并展示在页面上
vue
User List