闽公网安备 35020302035485号
众所周知,Vite 已然占据 web 开发的半壁江山。无论是 Vue 项目还是 React 项目,我都习惯使用 Vite 去开发构建。但是,有个问题一直困扰着我,那就是,项目需要兼容 Chrome 72 版本的浏览器,虽然采用了 @vitejs/plugin-legacy插件做兼容,但是此插件只在build阶段生效,serve阶段不生效,这就导致项目只能在高版本浏览器中开发,项目的兼容性问题,我无法在开发阶段发现。基于此,我决定研究下怎么在低版本浏览器中运行Vite启动的项目。
前提
先来了解下 Vite,官网描述如下:Vite 是一种新型前端构建工具,能够显著提升前端开发体验。它主要由两部分组成:
Chrome >= 63 Edge >= 79 Safari >= 11.1 FireFox >= 67 Opera >= 50 IE 全系不支持
我的电脑上现有 Chrome 72 版本的浏览器,满足条件,那就拿它来测试吧。
第一个 看了下 github,标星 35,有点不太靠谱。再看第二个,官方插件,稳定性还是值得肯定的,就你了。


pnpm i @rollup/plugin-babel @babel/preset-env -D
import { defineConfig } from 'vite';
import babel from '@rollup/plugin-babel';
// 堆代码 duidaima.com
export default defineConfig({
plugins: [
babel({
include: [/\.vue$/, /\.ts$/, /\.tsx$/, /\.jsx$/, /\.js$/],
presets: [
[
'@babel/preset-env',
{
useBuiltIns: 'usage',
corejs: 3,
targets: {
chrome: '72',
},
modules: false,
},
],
],
}),
],
});
使用 @babel/preset-env 做兼容,下面解释下它配置项:
import { defineConfig } from 'vite';
import babel from '@rollup/plugin-babel';
export default defineConfig({
plugins: [
babel({
include: [/\.vue$/, /\.ts$/, /\.tsx$/, /\.jsx$/, /\.js$/],
extensions: ['.vue', '.ts', '.js', '.tsx', '.jsx'], // 添加此行
presets: [
[
'@babel/preset-env',
{
useBuiltIns: 'usage',
corejs: 3,
targets: {
chrome: '72',
},
modules: false,
},
],
],
}),
],
});
启动试试,项目启动成功!!