(四)Vite

背景

因为mock Server存在跨域问题 ,需要使用vite解决

 为什么要限制跨域

  • 出于安全性,浏览器 会限制脚本内发起跨域http请求
    • 限制 XMLHttpRequest 和 Fetch API
  • Web应用
    • 只能从加载应用程序的同一个请求 HTTP资源进行跨域
    • 包含CORS响应头进行跨域

解决跨域

  • jsonp:<scipt> 不受同源策略限制
  • 跨域资源共享CORS:允许 Web应用服务器进行跨 源 访问控制
  • 使不同的源变成同源(反向代理)

vite

  • 前端构建工具
  • 组成:
    • 开发服务器:基于ES模块提供丰富的内建功能
    • 构建指令:使用Rollup打包代码,提供预设配置

vite优点:

开发大型项目时,应用越大,就会有 性能问题:

  1. 启动本地开发服务器的时间会很久
  2. 热更新慢

vite解决上述问题

开发服务器启动

vite 从依赖打包和源码打包两方面提升性能

  • 依赖:使用esbuild 进行依赖预打包,esbuld使用 go 编写,比JavaScript-based的打包工具快10-100倍
  • 源码:使用浏览器原生es module提供源码,让浏览器接管打包工具的部分工作

热更新

vite 在文件热更新做优化

  • 使用 ESM 不需要重新编译:一些打包工具的开发服务器在文件更改时,需要重新构建整个项目,来获取新的模块依赖关系
  • 使用浏览器缓存加速:Vite 利用 HTTP 头来加速整个页面的重新加载

vite 代理

在vue项目的vite.config.js下进行配置,如:

export default defineConfig({
  plugins: [vue(), vueJsx()],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  // 配置vite请求代理
  server: {
    port: 3000,
    proxy: {
      '/api': 'http://localhost:8000',
      '/imgs': 'http://localhost:8000',
    }
  }
})

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值