• Vue脚手架中的axios的引入,网络事件代理配置


    axios的引入

    首先去终端安装axios,指令:npm i axios,

    第一种:在需要进行axios请求的Vue文件内的script标签内引入axios即 import axios from "axios”,就可以使用了

    第二种:在main.js文件中引入 import axios from "axios”,再将axios写入原型中Vue.prototype,这样每个Vue文件内都可以直接使用,不在需要每次都引入一次 import axios from "axios”

    这样的话,在进行axios请求时使用this.$axios而不是axios

    网络代理配置

    由于Vue脚手架中运行时会有自己的服务器端口默认8080,

    当我们自己开启后端服务器(node.js默认端口7001),想要在Vue环境中使用Ajax请求后端数据时就会产生跨域,那么我们就要在vue.config.js中进行网络代理配置

    如:在没有进行网络事件代理时,使用axios请求后端数据,如

     

     那么我们在界面中点击按钮,就会跨域

     

    配置vue.config.js文件

     所以我们在vue.config.js文件中进行网络代理配置

    1. const { defineConfig } = require('@vue/cli-service')
    2. module.exports = defineConfig({
    3. transpileDependencies: true,
    4. lintOnSave: false,//取消严格模式
    5. devServer: {
    6. port: 8080, //默认vue脚手架配置就8080
    7. //代理配置,这里只是配置,不用写代理服务器的代码(配置好了它帮我们实现)
    8. proxy: {
    9. //配置api,可以配置多个Api
    10. '/api111': {
    11. target: 'http://localhost:7001',//跳转的目标网址
    12. secure: true, //如果代理的target是https接口,需要配置它
    13. pathRewrite: {
    14. '^/api111': '/'
    15. },
    16. //请求时重写pathname:
    17. //项目组件中请求的是http://localhost/hqyj/api111
    18. //8080服务器就会帮我们代理请求 http://localhost:7001/api111
    19. //所以将api重写为'^/api111': '/'
    20. },
    21. },
    22. }
    23. })

    此时再将api写入axios工具请求的网址中:

     此时我们再点击按钮就能成功得到后端数据

     

     此时我们也会存在一个问题,就是每次进行axios请求的时候我们都要在前边写api才能进行网络事件代理,所以我们可以在main.js文件中配置公共url axios.defaults.baseURL

    main.js文件中配置axios公共url 

    1. import Vue from 'vue'
    2. import App from './App.vue'
    3. import axios from "axios"
    4. axios.defaults.baseURL="http://localhost:8080/api111"
    5. //配置公共url 如果这个axios去请求 "test" 它实际的网址是http://localhost:8080/api111/test
    6. Vue.config.productionTip = false
    7. new Vue({
    8. render: h => h(App),
    9. }).$mount('#app')

    此时再将axios工具请求的网址中的api删掉:

     此时依然可以成功请求到后端数据,但此方法只适合有且仅有一个api的时候使用

  • 相关阅读:
    第一章 C语言知识点(程序)
    车载ECU嵌入式设备的诊断测试 – 读和写
    Openstack云计算架构及前期服务搭建
    智慧卫生间
    Azure Data Factory(七)数据集验证之用户托管凭证
    拟态时钟动画
    51单片机中断与定时器计数器,基于普中科技HC6800-ESV2.0
    「 网络安全常用术语解读 」软件物料清单SBOM详解
    栈实现综合计算器(升级版,可对多位数操作)) [数据结构][Java]
    Java基于springboot+vue的共享电动车管理系统 nodejs
  • 原文地址:https://blog.csdn.net/m0_63470734/article/details/126732148