简单的创建一个前后端分离项目,适用于前端学习,vue为前端渲染界面,express框架用于编写后台接口,mysql用于创建数据库
参考文章:Express.js CORS跨域配置和静态访问服务 - 掘金 (后端解决跨域问题)
创建基础项目文件夹
demo1:其中vite、express可以安装在电脑,创建项目更加快捷
- 在demo1中打开cmd,首先,输入命令
npm create vite
使用vite创建Vue3项目(Vite-vue),创建好后,cd Vite-vue
移动到vue项目文件夹内,继续输入npm install
安装依赖包,最后启动项目npm run dev
- 返回demo1文件夹,继续打开cmd,输入命令
express Node-express
创建express项目,cd Node-express
移动到项目内,输入npm install
安装依赖包 - 正常情况,demo1文件夹内有Vite-vue项目文件夹和Node-express项目文件夹,自此前后端分离项目基本框架搭建好
简单测试登录接口(express项目)
启动express项目
创建好的Node-express项目结构如图
- 点击Run-startdebugging选择node.js启动,进入调试模式,每次更新内容后点击刷新按钮(出错尝试在终端输入npm start启动项目)
- 进入bin文件夹中的www文件,查看当前分配的项目端口,浏览器输入localhost:3000即可进入当前项目首页
创建并测试基础登录接口
- 在routes文件夹中创建login.js文件,为登录接口文件,并在app.js文件中引入并使用
- 在login.js文件中编写接口内容
var express = require("express");
var router = express.Router();
/ === 对应的路径为localhost:3000/login
// 选择接口请求方式
router.get("/", function (req, res, next) {
// req为客户端发送的请求参数数据
// res为服务端返回的数据
const body = {
// 此处随意定义一个数据
username: "admin",
};
// 调用res.send将数据响应给客户端
res.send({
status: 0,
msg: "login请求成功",
data: body,
});
});
// 当前文件中嵌套路由 === localhost:3000/login/register
router.post("/register", (req, res) => {
// 获取客户端输入的数据
const body = req.body;
res.send({
status: 0,
msg: "post请求成功",
data: body, //此处是将客户端输入的数据返回,正常应该是返回数据库中的数据
// 响应给客户端的数据必须是对象,不能是数组
});
});
module.exports = router;
- 打开postman,首先是get请求
- post请求,均有效
连接并调用mysql数据库
- 启动mysql,管理员打开powershell,
net start mysql
- 打开连接,新建数据库demo1,并创建user表
- 进入Node-express文件夹内,输入命令
npm install mysql
,安装mysql依赖包;在Node-express项目文件夹下创建sql.js文件,与app.js平级,用于存放数据库配置
- 将get改为post,登录一般为post请求,调用db,使用sql查询用户
Vue项目实现登录
- 跳过其它项目初始化等....
- 封装axios,baseURL为express项目地址
-
- 封装login接口
- 调用login接口
- 跨域,在后端experss项目中使用cors,
npm install cors
Express.js CORS跨域配置和静态访问服务 - 掘金 - 登录成功