利用babel + vue.config.js中的chainWebpack + .browserslistrc配置实现项目的浏览器兼容性处理
这里的兼容性处理主要是针对IE10-和360浏览器兼容模式下的兼容性处理 (这里以ant-design为例)
1.配置babel文件:
1)babel.config.js
在babel.config.js中配置会对整个项目实现转义
module.exports = { presets: [ '@vue/cli-plugin-babel/preset' ], plugins: [ ['import', { libraryName: 'ant-design-vue', libraryDirectory: 'es', style: 'css' } ] //`style: true`会加载less文件 ] }
2).babelrc
在.babelrc中配置会对项目你修改的文件实现转义(推荐)
{
"presets": [
[
"@babel/preset-env",
{
"modules": false,
"useBuiltIns": "entry",
"corejs": {
"version": 3,
"proposals": true
}
}
]
],
"plugins": [ ]//全局引入antd
"plugins": [ //按需引入 ["import", { "libraryName": "ant-design-vue", "libraryDirectory": "es", "style": "css" }] ]
}
2.配置 browserslist
1)在package.json中配置(推荐)
"browserslist": [ "> 1%", "last 2 versions", "not ie <= 8" ]
2)在.browserslistrc文件中配置
> 1% last 2 versions not ie <= 8
3.在vue.config.js中添加ant-design-vue的rule
chainWebpack: (config) => { // 以下相当于webpack的module配置 config.module .rule('ant-design-vue') .test(/(\.jsx|\.js)$/) .include .add(path.join(__dirname, './node_modules/ant-design-vue')) .add(path.join(__dirname, './node_modules/ant-design-vue/es/icon')) .end() .use('babel') .loader('babel-loader') },