Browsercompatibility关于浏览器兼容性,我们可以从下面了解和了解:VueCLI3初始化项目,你会发现package.json文件(或者单独的.browserslistrc文件)中的browserslist字段是指定项目的目标浏览器的范围。@babel/preset-env和Autoprefixer将使用此值来确定要转译哪些JavaScript功能以及要添加哪些CSS浏览器前缀。我们通常只需要修改browserslist以兼容目标浏览器:"browserslist":["ie10"]Polyfills一个默认的VueCLI项目会使用@vue/babel-preset-app它会通过@babel/preset-env和browserslist配置用于确定项目所需的polyfill。现代模式使用Babel,我们可以利用ES2015+中所有最新的语言特性,但我们还必须提供转译和polyfilled包以支持旧浏览器,这些转译包通常比原始原生ES2015+代码更冗长、解析和运行也慢点。所以VueCLI提供了现代模式来帮助我们解决这个问题,当使用下面的命令构建生产环境时,它会产生两个应用程序版本:一个是针对支持ES模块的现代浏览器的现代捆绑包,另一个是不支持旧版捆绑包的对于ES模块的旧版浏览器vue-cli-servicebuild--modern我们也可以在其配置中检测当前模式,有时我们只需要将webpack配置更改为legacy或modern。VueCLI使用两个环境变量来传达信息:VUE_CLI_MODERN_MODE:构建以--modern标志开始。VUE_CLI_MODERN_BUILD:如果为真,则当前配置用于现代构建,否则将用于旧构建。
