原文链接: vue cli3 打包兼容Android 4.4
已在Android4.4上跑通
未能兼容ios9, 会报一个type error, 但是又没有其他任何信息, 垃圾ios....
在vue.config.js中配置相关依赖进行转换
一般把第三方库加进去后就不会有es6的语法了, 包括const ,let , ... 等
module.exports = {
transpileDependencies: [
// can be string or regex
"@vue/",
"vue-router",
"core-js",
"core-js",
"proxy-polyfill",
// 尽量不要全部加进去, 会有很多问题
// /node_modules/
],
};
babel.config.js
加入箭头函数和可选链的转义, 引入corejs3
module.exports = {
presets: [
[
"@vue/cli-plugin-babel/preset",
{
useBuiltIns: "usage",
corejs: 3, // 指定版本
targets: {
ios: "8",
android: "4",
chrome: "58",
},
},
],
],
plugins: [
"@babel/plugin-transform-arrow-functions",
"@babel/plugin-proposal-optional-chaining",
],
};
引入proxy和其他相关polyfill
import "regenerator-runtime/runtime";
import "@babel/polyfill";
import ProxyPolyfillBuilder from "proxy-polyfill/src/proxy";
if (!window.Proxy) {
window.Proxy = ProxyPolyfillBuilder();
}