如何让 vue-cli 支持 ie9 + 的浏览器?

我在新版的vue-cli 打包以后webkit内涵的浏览器都支持es6语法,我看一些文字说现在vue-cli脚手架都集成了es6转es5但是现在的问题是打包完以后报错语法不支持。
.babelrc 的文件 vue-cli构建的时候没有,我需要安装吗?还是好蛋疼啊,新的目录结构改了以后
有没有大佬弄过。

这是我的配置文件

clipboard.png

阅读 4.8k
1 个回答

1.在根目录新建一个.babelrc 文件里面写

{
  "presets": ["es2015", "stage-3"],
  "plugins": ["transform-runtime"],
  "comments": false
}

2.在webpack.base.config.js 修改

  2.1 require("babel-polyfill")   // yarn安装babel-polyfill 并且导入

  2.2 entry: {
       // app: './src/main.js'  这是原本的引入
        app: ["babel-polyfill","./src/main.js"] 
      },

   2.3 loader: 'babel-loader' 里面要添加  exclude: /node_modules/

       {
        test: /\.js$/,
        loader: 'babel-loader',
        include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')],
        exclude: /node_modules/
      }

3.安装babel的插件

"babel": "^6.23.0",  // 有用
"babel-core": "^6.26.0",
"babel-plugin-transform-runtime": "^6.12.0",  // 有用
"babel-preset-es2015": "^6.24.1", // 有用
"babel-preset-stage-3": "^6.24.1",
"babel-runtime": "^6.26.0",  // 有用

4.如果使用vuex在 mutations写法中ie不支持键值 [key] 这样的写法要改成

var mutations = {}

mutations[types.LOGIN] = (state, data) => {
  localStorage.token = data;
  state.token = data;
}

mutations[types.LOGOUT] = (state) => {
  localStorage.removeItem('token');
  state.token = null
}

export default new Vuex.Store({
    state: {
      token: null
    },
    mutations: mutations
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题