编程语言
首页 > 编程语言> > javascript – Electron和Babel 6 async / await抛出意外的令牌

javascript – Electron和Babel 6 async / await抛出意外的令牌

作者:互联网

我想在我的Electron应用程序中使用ES7的async / await功能,但它似乎无法正常工作.它给了我

Syntax error: unexpected token function

在命令npm开始之后..

电子: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等中缺少什么吗?

编辑

我也尝试在require()之后添加一些导入,但它以.结尾

Unexpected token import

好像贝贝根本没有加载..

解决方法:

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

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

index.js

'use strict';

require('babel-core/register');
require("babel-polyfill");
require("./src/main");

>更新了package.json以在npm start上执行它

的package.json

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

标签:javascript,node-js,babeljs,electron,ecmascript-next
来源: https://codeday.me/bug/20190711/1431163.html