toG的vue2项目,低端浏览器打开黑屏,适配方案。
需要下载的包:
"resize-observer-polyfill":"^1.5.1","core-js":"^3.18.0","regenerator-runtime":"0.11.1",main.js 顶部引入
import"core-js/stable";import"regenerator-runtime/runtime";- build命令:
"build":"node --max-old-space-size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js build --no-module"–no-module:只打兼容包,不再生成 type=module,老内核也会拿到已转译代码。
- vue.config.js
module.exports={...transpileDependencies:["@jiaminghi/data-view","axios","vue-awesome","vue-directive-image-previewer","vue-photo-preview","resize-observer-polyfill","buffer",],configureWebpack:{// 仅禁用 buffer:旧构建里 buffer 的 2**24 / BigInt 会在 360 上报语法错resolve:{fallback:{buffer:false,},},output:{environment:{arrowFunction:false,bigIntLiteral:false,const:false,destructuring:false,dynamicImport:false,forOf:false,module:false,optionalChaining:false,templateLiteral:false,},},},...}- package.json 中的 browserslist
"browserslist":["chrome >= 78","firefox >= 72","safari >= 13","ios >= 13","edge >= 79","ie >= 11"]babel转译的第二优先级就是bl,驱动 Babel 按旧目标转译。
- babel.config.js
module.exports={presets:[["@vue/cli-plugin-babel/preset",{useBuiltIns:"entry",corejs:3,},],],plugins:[["component",{libraryName:"element-ui",styleLibraryName:"theme-chalk",},],],};