量角器抛出意外的令牌导出

时间:2016-08-08 13:49:42

标签: javascript ecmascript-6 protractor

我正在尝试运行一个protactor测试。但是当使用模块时,它会抛出以下内容。我是ES6的新手,如何配置它。

  

export {getFreePort};   ^^^^^^   SyntaxError:意外的令牌导出       at Object.exports.runInThisContext(vm.js:76:16)       在Module._compile(module.js:513:28)       在Module._extensions..js(module.js:550:10)       at Object.require.extensions。(匿名函数)[as .js](C:\ Dev \ Code \ JG.Crowdfunding.Website \ node_modules \ babel-register \ lib \ node.js:156:7)       在Module.load(module.js:458:32)       在tryModuleLoad(module.js:417:12)       在Function.Module._load(module.js:409:3)       在Module.require(module.js:468:17)       at require(internal / module.js:20:19)       在对象。 (C:\开发\代码\ JG.Crowdfunding.Website \ protractor.conf.js:4:18)

我的babelrc文件有

{ "presets": ["es2015"] }

发生错误的导入文件类似于

var freeport = require('freeport');

var getFreePort = function () {
return new Promise((fulfill, reject) => {
    freeport((err, port) => {
        if (err) {
            console.log('ERROR: Something went wrong while trying to find a free port.');
            reject(err);
        }
        fulfill(port);
    });
});
};

export { getFreePort };

在我的protractor.conf onPrepare函数中,我有。

  onPrepare: function () {
return portHelper.getFreePort().then(port => {
  fakeApiServer.startFakeApiServer(port);
}).then(() => {
  return browser.driver.manage().window().maximize();
})}

我在protractor.conf

中进一步做了以下几点
require('babel-core/register');
var portHelper = require('./test/e2e/helpers/portHelper');

由于

2 个答案:

答案 0 :(得分:0)

在此行中,括号中需要portreturn portHelper.getFreePort().then(port => {

答案 1 :(得分:0)

事实证明我的错误是babel-register忽略了node_modules文件夹。为了解决我需要做的问题

require('babel-core/register')({ ignore: false });

而不仅仅是

require('babel-core/register');