2021搭建企业级后台(Vue + TS + Element Plus )~ 6.配置路由 及 封装请求

本文介绍了在Vue项目中,由于后台数据接口未启用CORS,导致跨域问题的解决方法。通过在vue.config.js文件中配置devServer的proxy属性,将/boss和/front接口转发到对应的服务器地址,并启用changeOrigin以修改请求头。同时,文章还展示了如何安装axios并封装请求模块,以及在组件中进行测试调用。
摘要由CSDN通过智能技术生成

后台提供的数据接口

这两个接口都没有使用 CORS 跨域请求,所以需要在客户端配置服务端代理处理跨域服务。

可参考 Vue 官方文档

添加代理跨域:

在 vue.config.js 文件中插入:

  // 配置代理跨域
  devServer: {
    proxy: {
      '/boss': {
        target: 'http://eduboss.lagou.com', // 所有 /boss 的请求头都会被被转发到 target 这个目标地址
        changeOrigin: true // 把请求头中的 host 配置为 target
      },
      '/front': {
        target: 'http://edufront.lagou.com',
        changeOrigin: true
      }
    }
  }

修改配置后 重启项目…

测试:

在 网址 http://localhost:8080 中后 插入 /boss/front
在这里插入图片描述



封装请求模块

安装 axios

npm i axios

创建 src/utils/request.ts 请求模块:

import axios from 'axios'

const request = axios.create({
  // 配置选项
  // baseURL
  // timeout
})

// 请求拦截器

// 响应拦截器

export default request


测试

在 App.vue 中:

<template>
  <div id="app">
    <h1>Hello World</h1>

    <!-- 根路由出口 -->
    <router-view/>

    <p class="text">红色的文字</p>
  </div>
</template>

<script lang="ts">
import Vue from 'vue'
import request from '@/utils/request'

request({
  methods: 'GET',
  url: '/boss'
}).then(res => {
  console.log(res)
})

export default Vue.extend({
  name: 'App'
})
</script>

<style lang="scss" scoped>
.text {
  color: $danger-color;
}
</style>

在这里插入图片描述

搭建一个vue3 ts pinia element-plus后台管理系统框架,可以按照以下步骤进行: 1. 安装Node.js和Vue CLI Vue CLI是用于创建和管理Vue项目的官方工具,需要先安装Node.js和Vue CLI。 2. 创建基于Vue3和TypeScript的项目 使用Vue CLI创建一个基于Vue3和TypeScript的项目,输入以下命令: ``` vue create my-project --preset=@vue/cli-plugin-typescript ``` 3. 安装Pinia Pinia是一个Vue 3状态管理库,可以用于管理应用程序的状态。在项目中安装Pinia,输入以下命令: ``` npm install pinia ``` 4. 安装Element Plus Element Plus是一个基于Vue.js 3的UI库,可用于构建后台管理系统。在项目中安装Element Plus,输入以下命令: ``` npm install element-plus ``` 5. 创建页面和组件 根据项目需求,创建页面和组件。 6. 配置Pinia 在main.ts中引入Pinia,并在创建Vue实例时使用它。示例代码如下: ```typescript import { createApp } from 'vue' import App from './App.vue' import { createPinia } from 'pinia' const app = createApp(App) app.use(createPinia()) app.mount('#app') ``` 7. 配置Element Plus 在main.ts中引入Element Plus,并在创建Vue实例时使用它。示例代码如下: ```typescript import { createApp } from 'vue' import App from './App.vue' import ElementPlus from 'element-plus' import 'element-plus/lib/theme-chalk/index.css' const app = createApp(App) app.use(ElementPlus) app.mount('#app') ``` 8. 编写页面和组件 使用Vue3和TypeScript编写页面和组件。 9. 运行项目 运行项目,输入以下命令: ``` npm run serve ``` 以上就是搭建一个vue3 ts pinia element-plus后台管理系统框架的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后海 0_o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值