VueCLI3配置兼容IE10
JS兼容
配置兼容列表
如果生效后面的就可以不用配置了
package.json配置browserslist
1 | "browserslist": [ |
或者
单独的文件.browserslistrc
1 | > 1% |
配置vue.config.js
transpileDependencies
transpileDependencies为false:则原封不动的打包进bundle
transpileDependencies为true:根据browserslist情况决定是否需要打polyfill
具体配置
1 | const { defineConfig } = require("@vue/cli-service"); |
兼容库
作用
babel-polyfill(解决浏览器不支持es6的问题)原理就是把es6的语法转换成es5的语法
es6-promise(解决不支持promise的问题)
1.安装
1 | npm install babel-polyfill --save |
2.在main.js文件最上面加
1 | import "babel-polyfill"; |
3.babel.config.js配置
1 | module.exports = { |
CSS兼容
postcss.config.js配置
1 | module.exports = { |
兼容css var()变量
1 | // 安装依赖 |
兼容函数
1 | String.prototype.replaceAll = function(s1,s2){ |
1 | var value = "123131"; |
其他环境
NodeJS
你需要在你的应用入口顶部通过 require 将 polyfill 引入进来。确保它在任何其他代码/依赖声明之前被调用!
1 | require("babel/polyfill"); |
ES6
如果你在你的应用入口使用 ES6 的 import 语法,你需要在入口顶部通过 import 将 polyfill 引入,以确保它能够最先加载:
1 | import 'babel/polyfill'; |
Webpack
在 webpack.config.js 中,将 babel-polyfill 加到你的 entry 数组中:
1 | module.exports = { |
浏览器中
可以在 babel/polyfill
npm 发布版中的 dist/polyfill.js
文件中找到它。
它需要在你编译过的 Babel 代码之前被包括进去。你可以将它追加到你编译过的代码中,或者在这些代码之前通过 <script>
引入它。