vue如何让第三方包兼容IE
vue如何让第三方包兼容IE
我们在使用vue的过程中会发现安装了第三方包,却无法在IE浏览器下正常运行的情况,这是因为vue-cli为了打包速度,默认情况下是不会使用babel-loader去处理node_modules下的第三方包的,这里有三种解决方案:
1. 将第三方包移出node_modules文件夹
将包从node_modules中拷贝出来,放入components文件夹下,再将import包的路径改为components下的路径,这样就可以在自己的项目中使用babel-loader去编译第三方的包了,但是这样做很不优雅。
2. 在vue.config.js中配置webpack使babel-loader去编译node_modules中的包
module.exports = {
configureWebpack: {
module: {
rules: [
{
test: /\.js$/,
exclude: /\/node_modules\/tree-table-vue\//,
use: {
loader: "babel-loader"
}
}
]
}
}
};
这里有个疑问一直没搞明白,exclude 是排除的意思,webpack官方文档也是这样解释的,但是这个文件默认就是排除掉的,按照官方文档,应该使用include包含这个路径,但是使用include却无效,而使用exclude是有效的。
3. 终级解决方案,vue-cli的配置项transpileDependencies
module.exports = {
transpileDependencies: ["tree-table-vue"]
};