Electron 和 Babel 6 异步/等待抛出意外令牌

Electron and Babel 6 async / await throw unexpected token

我想在我的 Electron 应用程序中使用 ES7 的异步/等待功能,但它似乎不起作用。它给了我

Syntax error: unexpected token function

命令后 npm start..

电子:v0.37.6 节点:v5.11.0 稳定版 Windows10 x64

main.js

'use strict';

require("babel-core/register");
require("babel-polyfill");

(async function() {
  await console.log("test");
})()

package.json(截断)

"devDependencies": {
  "babel": "^6.5.2",
  "babel-cli": "^6.7.7",
  "babel-core": "^6.7.7",
  "babel-eslint": "^6.0.3",
  "babel-plugin-syntax-async-functions": "^6.5.0",
  "babel-plugin-transform-async-to-generator": "^6.7.4",
  "babel-plugin-transform-regenerator": "^6.6.5",
  "babel-polyfill": "^6.7.4",
  "babel-preset-es2015": "^6.6.0",
  "babel-preset-stage-3": "^6.5.0",
  "electron-debug": "^0.6.0",
  "electron-prebuilt": "^0.37.0",
  "eslint": "^2.8.0"
}

.babelrc

{
  "presets": ["es2015", "stage-3"],
  "plugins": ["transform-async-to-generator", "syntax-async-functions", "transform-regenerator"]
}

你知道我的 conf 等中缺少什么吗?

编辑

我也尝试在 require() 之后添加一些 import 但它以

结尾

Unexpected token import

好像babe完全没有加载..

我遇到了同样的问题。 这是我解决它的方法:http://masnun.com/2015/11/11/using-es7-asyncawait-today-with-babel.html

编辑

await 应与 promises

一起使用

最后我通过两个简单的步骤解决了这个问题:

  1. 将我的 Babel 内容放在单独的文件中

index.js

'use strict';

require('babel-core/register');
require("babel-polyfill");
require("./src/main");
  1. 已更新 package.json 以在 npm start
  2. 上执行

package.json

"scripts": {
  "start": "electron index.js"
},