Vue的兼容性解决方案Babel-polyfill案例解析
Babel-polyfill可以抹去旧版本浏览器不熟悉的特征,在babel.config.js中写出
如果有依赖需要 polyfill,你有几种选择:
1. 如果确切知道有兼容性问题的依赖包名,可以配置项目根目录下的vue.config.js,将依赖包名添加到transpileDependencies键中,这会为该依赖同时开启语法语法转换和根据使用情况检测 polyfill。
例如:
module.exports = { transpileDependencies: ["sl-vue-tree"] // 需要编译的依赖包名 }
2.如果确切的知道需要转译的语言特性,可以配置根目录下的babel.config.js,为presets的值添加所需要的 polyfill。
// babel.config.js module.exports = { presets: [ ['@vue/app', { polyfills: [ 'es6.promise', 'es6.symbol' ] }] ] }
如果相关依赖带ES5代码并明确列出所需的polyfill:您可以使用@vue / babel-preset-app的polyfills选项预先包含所需的polyfill。请注意,es6.promise是默认包含的,因为libs依赖Promises是很常见的。
3.然而更多的情况是,我们并不确切的知道项目中引发兼容问题的具体原因,这时还可以配置为根据兼容目标导入所有 polyfill,需要设置babel.config.js为:
module.exports = { presets: [ ['@vue/app', { useBuiltIns: 'entry' }] ] }
同时在入口文件(main.js)第一行添加
import '@babel/polyfill
这会根据 browserslist 目标导入所有 polyfill,这样你就不用再担心依赖的 polyfill 问题了,但是因为包含了一些没有用到的 polyfill 所以最终的包大小可能会增加。
到此这篇关于Vue的兼容性解决方案Babel-polyfill的文章就介绍到这了,更多相关Vue兼容性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
webpack 3 + Vue2 使用dotenv配置多环境的步骤
这篇文章主要介绍了webpack 3 + Vue2 使用dotenv配置多环境,env文件在配置文件都可以用, vue页面用的时候需要在 webpack.base.conf.js 重新配置,需要的朋友可以参考下2023-11-11VUE中computed 、created 、mounted的先后顺序说明
这篇文章主要介绍了VUE中computed 、created 、mounted的先后顺序说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-03-03vue+tsc+noEmit导致打包报TS类型错误问题及解决方法
当我们新建vue3项目,package.json文件会自动给我添加一些配置选项,这写选项基本没有问题,但是在实际操作过程中,当项目越来越复杂就会出现问题,本文给大家分享vue+tsc+noEmit导致打包报TS类型错误问题及解决方法,感兴趣的朋友一起看看吧2023-10-10
最新评论