vue.js / webpack:如何正确地转换ES6 / ES7?

时间:2017-05-29 14:30:53

标签: webpack ecmascript-6 async-await vue.js babel

我使用full webpack template设置项目。 如何设置它以使用异步功能等ES7功能?我读到了使用babel插件并尝试了以下内容:

.vue

根据我的理解:这不会在.js文件中转换异步函数,因为它只查找Games.Invitations.registerInvitationListener(mGoogleApiClient, this); Games.TurnBasedMultiplayer.registerMatchUpdateListener(mGoogleApiClient, this); 个文件。 不知何故,它适用于这些 - 但它给了我箭头功能,不再在IE中工作。

包装起来:如何设置转换以使用ES6和ES7功能?

2 个答案:

答案 0 :(得分:1)

由于我们的讨论:

1)应编辑babel配置.babelrc以处理async-await,例如添加stage-3预设:

"presets": [
    ["env", { "modules": false }],
    "stage-2", 
    "stage-3"
  ],

2)安装此预设

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

纱线:yarn add -D babel-preset-stage-3

答案 1 :(得分:0)

仅供参考,只是因为其他人偶然发现它并且无法使用async / await与Vuejs项目(像我一样),这就是我为了让它工作而做的事情 -

要使用 await / async ,您需要安装几个Babel依赖项。这适用于Vuejs项目 -

npm install --save-dev babel-polyfill
npm install --save-dev babel-plugin-transform-regenerator

安装完成后,您需要修改 .babelrc 文件以使用该插件,如下所示 -

{
    "plugins": ["transform-regenerator"]
}

以及 webpack.config.js 文件以使用再生器,如下所示 -

require("babel-polyfill");

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

根据您的项目结构和文件名等进行必要的更改。

发表于https://stackoverflow.com/a/46734082/2074938