手把手撸一个前后端分离Demo -- 前端基础配置篇

584 阅读2分钟

手把手撸一个前后端分离Demo -- 前端基础配置篇

一、概要

完整Demo代码可以访问: github.com/JYThomas/to…

前端框架采用的是 vue-admin-template 框架,是一个比较容易上手的前端的后台系统框架。

Gitee地址:

https://gitee.com/panjiachen/vue-admin-template

二、安装依赖

打开VSCode进入到看见src的文件夹下载terminal执行如下命令安装依赖

npm install --registry=https://registry.npm.taobao.org

三、框架目录

整个系统框架主要操作的是src文件夹里面的文件

  1. src / api : 用于管理接口
  2. src / router :用于管理系统目录(系统左边那一列模块路由)
  3. src / store:Vuex 状态管理(数据需要存储的状态机)
  4. src / utils:管理配置前后端通信
  5. src / views:写页面的地方
  6. src / permission.js:路由守卫管理

环境变量配置文件:.env.development

配置文件:vue.config.js (配置处理跨域问题)

四、基础配置

实现前后端分离,首先要解决的是跨域问题。什么是跨域? ,浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。

距离来说,比如后端接口的地址是localhost:8888,前端运行的地址是localhost:9528,那么这个时候前后端的端口不一样,这个时候就会存在跨域问题。跨域问题不解决会导致获取不到接口数据。

前端解决跨域问题在 vue.config.js 文件中配置代理实现前端跨域,主要配置devServer如下

devServer: {
    port: 9528, //端口
    open: true,
    overlay: {
      warnings: false,
      errors: true
    },
    proxy: {
            '/api': {  //将www.exaple.com 印射为/apis
                target: 'http://localhost:8888', // 接口域名
                changeOrigin: true, //是否跨域
                pathRewrite: {
                    '^/api': '/api'  // 即用 '/api'表示'http://localhost:8888/api'
                }
            }
        }
  },

配置api接口文件的时候格式如下

const todoApi = {
    getTodoList: "/api/Todo/getTodoList"
}
​
//获取待办列表
export function getTodoList(params){
    return request({
        /*
            这里url是/api/Todo/getTodoList 即可表示请求的接口为
            http://localhost:8888/api/Todo/getTodoList (pathRewrite的作用)
        */
        url: todoApi.getTodoList,  
        method: 'post',
        data: params
      });
}

这个时候发送请求时network中显示的请求URL为 localhost:9528/api/todo/getTodoList 实际上就是访问 localhost:8888/api/todo/getTodoList 解决跨域。

到这基础的跨域问题就算解决了,接下来是通信篇使用Axios进行接口访问。上述如有不对的地方还望指教。

\