vue项目使用vite设置proxy代理,vite.config.js配置,解决本地跨域问题

这篇具有很好参考价值的文章主要介绍了vue项目使用vite设置proxy代理,vite.config.js配置,解决本地跨域问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vue3+vite4项目,配置代理实现本地开发跨域问题

非同源请求,也就是协议(protocol)、端口(port)、主机(host)其中一项不相同的时候,这时候就会产生跨域文章来源地址https://www.toymoban.com/news/detail-811014.html

  1. vite的proxy代理和vue-cli的proxy大致相同,需要在vite.config.js文件中配置(打包配置也在此)
  2. 代理配置在server中,可以上vite官网服务器选项查看server.proxy代码示例:开发服务器选项–server.proxy
  3. 需要注意:使用了代理之后,axios的base路径需要改成代理路径,比如
    vite 代理,vue.js,前端,vite,vite.config.js
  4. ok 直接贴配置代码:
import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import fs from "fs"
// https://vitejs.dev/config/
export default defineConfig({
  base: './', //相对路径
  plugins: [vue()],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  css: {
    preprocessorOptions: {
      less: {
        modifyVars: {},
        javascriptEnabled: true,
      },
    },
  },
  build: {
    minify:'terser',
    outDir: "./dist",
    //emptyOutDir: true,
    //assetsDir: "assets", //指定静态资源存放路径
    // sourcemap: false, //是否构建source map 文件
    terserOptions: {
      // 生产环境移除console
      compress: {
        drop_console: false,
        drop_debugger: true,
      },
    },
    // 块大小警告的限制(以 kbs 为单位) 默认: 500
    chunkSizeWarningLimit: 1000,
    // 分解块,将大块分解成更小的块
    rollupOptions: {
      output: {
        manualChunks(id) {
          if (id.includes('node_modules')) {
            return id.toString().split('node_modules/')[1].split('/')[0].toString();
          }
        },
        chunkFileNames: (chunkInfo) => {
          const facadeModuleId = chunkInfo.facadeModuleId
            ? chunkInfo.facadeModuleId.split('/')
            : [];
          const fileName = facadeModuleId[facadeModuleId.length - 2] || '[name]';
          return `js/${fileName}/[name].[hash].js`;
        }
      }
    },
  },
  server: {
  	// 配置https代理与证书
    https: {
      key: fs.readFileSync('cert/8982715__nsfocus.com.key'),
      cert: fs.readFileSync('cert/8982715__nsfocus.com.pem')
    },// 是否开启 https
    open: false, // 是否自动在浏览器打开
    port: 8899, // 端口号
    host: "0.0.0.0",
    //这里的ip和端口是前端项目的;下面为需要跨域访问后端项目
    proxy: {
      '/seatsapi/': {   // '/api'是代理标识,用于告诉node,url前面是/api的就是使用代理的
        target: 'https://miccdev.nsfocus.com/',//这里填入你要请求的接口的前缀
        ws: false,//代理websocked
        changeOrigin: true,  //是否跨域
        secure: true,  //是否https接口
        // pathRewrite:{  // pathRewrite 的作用是把实际Request Url中的'/api'用""代替
        //   "^/": "/"
        // },
      //   headers: {
      //     referer: 'https://uat.nsfocus.com/api/input_suggest', //这里后端做了拒绝策略限制,请求头必须携带referer,否则无法访问后台
      //   }
      }
    }
  },
})

结束,总结完毕 ~ 简单易懂 ~

到了这里,关于vue项目使用vite设置proxy代理,vite.config.js配置,解决本地跨域问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Vue+vite创建项目关于vite.config.js文件的配置

    Vue+vite创建项目关于vite.config.js文件的配置

    Vue项目创建时,我们见过vue-cli 创建项目和webpack 创建项目等方式。 现在Vue 3版本使用npm/pnpm create vue@latest 创建项目,是搭配使用vite工具构建的。 创建完成的项目,最明显的去别就是,项目配置文件命名不同,当然,配置语法也有不同。 vue-cli 创建的项目,项目配置文件文件

    2024年02月12日
    浏览(11)
  • proxy代理不生效、vue config.js不生效解决方法

    proxy代理不生效、vue config.js不生效解决方法

    axios默认请求接口就是localhost,所以这里需要更改 axios设置的默认请求设置 在 main.js 文件里,设置 vue.config.js文件夹要和src在同级别下 在这里面 /api 就相当于 \\\' http://localhost:8080/ \\\' 所以接下来接口需要添加的的url参数不需要再写接口的域名 要是在不行就把请求头加上 springboo

    2024年01月17日
    浏览(8)
  • Vite 配置代理 Proxy,Vue配置代理,解决前端跨域

    Vite 配置代理 Proxy,Vue配置代理,解决前端跨域

    我们在做项目的时候经常会遇到跨域的问题,之所以会出现跨域问题是因为浏览器的同源策略,即协议、域名、端口需要一致,才可以访问服务端的资源。当一个请求地址(服务端的地址)的协议、域名、端口三者之间任意一个与当前页面地址(前端页面地址)不同即为跨域

    2024年02月17日
    浏览(10)
  • vue.config.js使用代理配置真实请求url

    vue.config.js使用代理配置真实请求url

    前端请求接口过程中会统一配置代理请求url,配置之后浏览器只能看到local host路径。 为方便查看请求的真实ip,需要在vue.config.js中做如下配置,便能在浏览器实时查看到真实地址 配置完重启,效果如下:

    2024年02月13日
    浏览(13)
  • vue.config.js中proxy配置

    这里以axios发请求为例 如果发送的请求都以 /abc 开头,那么我们就可以在proxy中进行服务器代理配置。 3.代理多个接口 方法1:监测多个接口,可以在proxy中写多个配置:(适用于target不同的代理,相同也可以用这个方法,就是会麻烦一点,对于相同的target方法2会比较方便)

    2024年02月22日
    浏览(13)
  • vue3配置代理--[vite] http proxy error

    vue3配置代理--[vite] http proxy error

    跨域请求数据, 浏览器 同源策略的保护机制, 通过 proxy 实现跨域请求数据; 如果直接 postman 请求是不会报错的, vue3 报错是因为经过浏览器了, 数据其实返回了, 但是别浏览器的同源策略屏蔽了。 本地调试, 后端使用** http://localhost:8081 作为接口地址, 报错 [vite] http proxy error ** 可

    2024年02月08日
    浏览(13)
  • UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)

    UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)

    UniApp 运行到浏览器的时候,接口会跨域报错,这里通过两种方式解决,第一:修改Uniapp自带的manifest.json 源码视图并进行配置h5设置。第二:在项目根目录新建vue.config.js并配置代理。 二选一即可。 修改或调整配置文件后,推荐重新运行,以防不生效。 配置完成后,请求接口

    2024年01月16日
    浏览(13)
  • vue中vite.config.js配置跨域以及环境配置详解

    vue中vite.config.js配置跨域以及环境配置详解

    我们的 .env.development 和 .env.production 文件里面都会有 VITE_APP_ENV 配置: 在我们的 vite.config.js文件中: 以上是 vite.config.js 的配置,上面展示了在不同环境下去请求对应环境的域名并且配置代理进行跨域. 1.在vue.config.js中设置一下代码: 2. 创建axioss实例时,将baseUrl设置为 \\\'/api\\\'

    2024年02月15日
    浏览(9)
  • vue2的vue.config.js中简单配置代理跨域

    调用后端接口访问后台数据,但是因为请求url的协议、域名、端口三者之间任意一个与当前页面url不同产生了跨域,我们vue项目运行的地址一般就是localhost 8080端口,而且后端也没有配置允许跨域(后端如果配置跨域通常是cors),所以前端就要配置跨域,Vue跨域在vue.config.j

    2024年02月15日
    浏览(6)
  • Vite配置代理Proxy

    Vite配置代理Proxy

    大家好,我是南木元元,热衷分享有趣实用的文章。今天来分享一下如何在vite中配置proxy代理来解决跨越问题。 跨域问题:浏览器从一个网页去请求另一个资源时,域名、端口、协议任一不同,都是跨域。 常用的解决跨域问题的方式有如下几种: jsonp:利用script标签可跨域

    2024年02月11日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包