package.json中
"scripts": {
"buildmode": "vue-cli-service build --modern",
},
使用该指令打包项目,会以“现代模式”打包项目,实质上会打两个包,但是看起来和一般的dist是一样的,会根据用户浏览器的版本自动选择要给用户使用新的语法版本还是旧的语法版本。缺点是因为实质上是两个包,所以包会变大
"browserslist": [
"last 26 Chrome versions"
]
加这一句意思是“向前兼容多少个版本的谷歌浏览器”,这是明确告诉babel需要兼容的浏览器版本,babel在编译的时候会根据我们这里的设定去进行语法转化
可以在ubuntu中进入项目文件夹内,输入npx browserslist指令查看当前打包的巴别塔默认兼容浏览器版本
原则上讲还是推荐用现代模式的方式
这样可以让使用比较新的浏览器的用户用上新版语法的编译版本
这两种方式中,babel都不能转化插件中的新语法
babel 7.x版本有新增手动设置覆盖范围的功能,可以将转化覆盖范围设置为整个项目根目录,就可以同时转化插件中的语法,,所以谁知道怎么设置?