vite server正则表达式

vite server支持正则表达式,这样可以在测试时将一些请求模拟转发到本地后端服务的端口。且不会出现跨域的问题。

例如下面的配置,解决了3个问题:

1)API请求URI地址转发到本地后端服务

2)文件资源路径转发到本地后端服务(后端服务上传地址)

3)根目录下所有的txt文件转发到本地后端服务

4)websocket推送转发到本地的推送地址

    server: {
      host: '0.0.0.0',
      // https: true,
      hmr: true,
      port: Number.parseInt(env.VITE_APP_PORT, 10),
      /** 跨域设置允许 */
      cors: true,
      /** 端口被占用时,是否直接退出 */
      strictPort: false,
      /** 接口代理 */
      proxy: {
        '^/(api|admin|upload)/': {
          target: 'http://localhost:8080',
          ws: true,
          /** 是否允许跨域 */
          changeOrigin: true
        },
        '^/(.*).txt': {
          target: 'http://localhost:8080',
          ws: true,
          /** 是否允许跨域 */
          changeOrigin: true
        },
        '^/ws': {
          target: 'http://192.168.1.111:15674',
          ws: true,
          /** 是否允许跨域 */
          changeOrigin: true
        }
      }
    },

proxy正则的条件如下,有一些特殊要求:

1)以^号开头的才是正则,否则是普通URI匹配

2)正则里循环匹配必须以分组的方式出现,例如第二条写成常规的^/.*.txt是无法匹配到的,必须把.*用括号括起来

这里记录一笔,怕时间长了忘了

相关推荐
niech_cn2 天前
vite + vue3 + ts解决别名引用@/api/user报错找不到相应的模块
vite
Amd7943 天前
Nuxt.js 应用中的 vite:compiled 事件钩子
自定义·vite·编译·nuxt·热更新·性能·钩子
黑色的糖果4 天前
npm上传自己封装的插件(vue+vite)
前端·vue.js·npm·vite
软件小伟4 天前
Vite是什么?Vite如何使用?相比于Vue CLI的区别是什么?(一篇文章帮你搞定!)
前端·vue.js·ecmascript·vite·vue vli
Amd7944 天前
Nuxt.js 应用中的 vite:serverCreated 事件钩子
中间件·开发·vite·日志·nuxt·跨域·钩子
亦世凡华、5 天前
React--》如何高效管理前端环境变量:开发与生产环境配置详解
react·vite·环境变量·env·env配置
19组清风5 天前
对于模块动态加载,Vite 内部做了哪些优化
前端·vite·前端工程化
Amd7945 天前
Nuxt.js 应用中的 vite:configResolved 事件钩子
vite·配置·nuxt·构建·钩子·动态·调整
Amd7947 天前
Nuxt.js 应用中的 schema:written 事件钩子详解
生命周期·vite·配置·日志·nuxt·服务·钩子