由于vue3使用ES6的Proxy代理实现响应式数据,但是最低兼容是chrome浏览器内核51版本才能完全实现原生ES6,xp系统最高兼容的chrome内核是49版本,所以导致XP系统的电脑无法使用ES6的Proxy代理实现响应式数据。
临时解决方案:
- 国产浏览器采用了更高版本的内核,在XP系统上可以使用搜狗浏览器/360极速浏览器访问。
解决办法实测有效:
1.安装babel/polyfill依赖
npm install --save @babel/polyfill
npm install --save-dev @babel/core @babel/plugin-transform-runtime @babel/preset-env es6-promise babel-polyfill
npm install --save core-js regenerator-runtime
2.在main.ts中最上面,第一行引入
import "@babel/polyfill";
3.babel.config.js文件配置
module.exports = {
presets: [
[
"@vue/app",
{
useBuiltIns: "entry",
polyfills: ["es6.promise", "es6.symbol"],
},
],
[
"@babel/preset-env",
{
modules: false,
useBuiltIns: "entry",
corejs: 2,
},
],
],
};
4.在package.json文件添加browserslist配置
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 11"
]
5.vue.config.js配置
module.exports = {
transpileDependencies:['*']
}
6.创建.babelrc文件与vue.config.js同级
{
"presets": ["@babel/preset-env"],
"plugins": ["@babel/plugin-transform-runtime"]
}