vue es6转es5 保证浏览器兼容性

vue cli es6转es5 保证浏览器兼容性

        • 安装
        • 在根目录下创建.babelrc文件
        • IE报vuex requires a Promise polyfill in this browser问题解决

开发过程中,由于需要使用了async await,只有少数的浏览器支持,极大多数的浏览器是不支持这玩意的,最后总结了两个方案

安装

npm install --save-dev babel-preset-es2015
npm install --save-dev babel-preset-stage-3

在根目录下创建.babelrc文件

{
     
    // 此项指明,转码的规则
    "presets": [
        // env项是借助插件babel-preset-env,下面这个配置说的是babel对es6,es7,es8进行转码,并且设置amd,commonjs这样的模块化文件,不进行转码
        ["env", {
      "modules": false }],
        // 下面这个是不同阶段出现的es语法,包含不同的转码插件
        "stage-2"
    ],
    // 下面这个选项是引用插件来处理代码的转换,transform-runtime用来处理全局函数和优化babel编译
    "plugins": ["transform-runtime"],
    // 下面指的是在生成的文件中,不产生注释
    "comments": false,
    // 下面这段是在特定的环境中所执行的转码规则,当环境变量是下面的test就会覆盖上面的设置
    "env": {
     
        // test 是提前设置的环境变量,如果没有设置BABEL_ENV则使用NODE_ENV,如果都没有设置默认就是development
        "test": {
     
        "presets": ["env", "stage-2"],
        // instanbul是一个用来测试转码后代码的工具
        "plugins": ["istanbul"]
        }
    }
}

然后重启 npm run 就可以了

IE报vuex requires a Promise polyfill in this browser问题解决

第一步,安装

npm install --save babel-polyfill

第二步: 在webpack.config.js文件中,修改

module.exports = {
     
	entry: {
     
		app: ["babel-polyfill", "./src/main.js"]
	}
};

替换

module.exports = {
     
	entry: {
     
		app: './src/main.js'
	}
}

你可能感兴趣的:(javascript,vue.js,es6,vue,js)