后台项目 Express-Mysql-Vue3-TS-Pinia 项目搭建

843 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第21天,点击查看活动详情

后台项目 Express-Mysql-Vue3-Ts-Pinia 项目搭建

引言

通过之前一段时间 ExpressMysql 的学习

这里尝试来搭建一个 后台系统 来巩固下学习的技术。

介绍

项目技术栈

  • 前端: Vue3TSPiniaElementPlus

  • 后端:Express

  • 数据库:Mysql

项目功能

目前准备先开发这几个功能

  • 用户注册,用户登录

    涉及 登录时 MD5 加密token 身份验证动态路由

  • 文章

    • 查看文章列表,查看文章详情,文章是否可读,增加文章,删除文章,修改文章,搜索文章

      主要是涉及 table 表格 及 表格中每行数据的点击操作。

虽然看着功能不太多,但是涉及的知识点范围还是蛮广的。

牛刀小试 😄

准备 开车 🚂

项目搭建

后端

后端 Express 的项目结构,其实在之前的学习中,已经搭建好了。

这里再说一下,目录结构

│  app.js             // 主入口文件
│  package.jsonREADME.md
│
├─config
│      config.default.js  // 一些基础配置
│
├─controller          // 控制器
│  │  index.js        // 主要是导出 所有的请求处理逻辑
│  │
│  ├─init             // 初始化建表的操作
│  │      index.js    // 处理请求逻辑
│  │      sql.js      // sql 语句
│  │
│  ├─temp             // 模板文件
│  │      index.js
│  │      sql.js
│  │
│  └─user
│          index.js
│          sql.js
│
├─middleware          // 错误处理中间件
│      errorMiddle.js
│      errorNotExist.js
│
├─model               // mysql 数据库 的配置
│      index.js
│
└─router              // 访问过来的路由
    │  index.js       // 导出 所有的路由
    │
    ├─init
    │      index.js
    │
    ├─temp            // 模板文件
    │      index.js
    │
    └─user
           index.js

上面一些文件内容,均在之前的文章中有体现,这里我抽出来,主要是下面这几篇

前端

这里快速说一下,通过vite 安装 vue3

npm create vite@latest

安装 axiosvue-routerpiniaelement-plus

npm i axios vue-router pinia element-plus

安装 sasssass-loader

npm i sass sass-loader --save-dev

解决跨域

  • 由于我们的后端项目地址为 http://localhost:8099/

  • 而前端项目地址为 http://localhost:3000/

所以存在跨域

这里通过配置 vite.config.js 来解决跨域,配置主要代码如下

import vue from '@vitejs/plugin-vue'
const path = require('path')

export default {
  base: '/',
  resolve: {
    alias: {
      '@': path.resolve(__dirname, 'src')
    }
  },
  plugins: [
    vue()
  ],
  server: {
    open: '/',
    proxy: {
      '/api': {
        target: 'http://localhost:8099',
        changeOrigin: true // 确定代理
      }
    }
  }
}

前端的项目目录为

image.png

至此前后端项目准备工作已完毕🎉,后续加油把项目做出来。

会有不足,欢迎提出指正🙋‍♂️

总结

通过之前的学习,准备通过 Express-Mysql-Vue3-TS-Pinia 做出一个 后台系统 项目。