4

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

语法错误:意外的令牌函数

命令后npm start..

Electron:v0.37.6 节点:v5.11.0 稳定版 Windows 10 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等中缺少什么吗?

编辑

我也尝试过添加一些importrequire()但它以

意外的令牌导入

好像Babe根本没有加载..

4

2 回答 2

2

最后,我通过两个简单的步骤解决了它:

  1. 把我的 Babel 东西放在单独的文件中

index.js

'use strict';

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

包.json

"scripts": {
  "start": "electron index.js"
},
于 2016-04-22T09:35:23.343 回答
-2

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

编辑

await应该与承诺一起使用

于 2016-04-21T22:50:32.117 回答