2017-04-27 80 views
0

我开始使用量角器使用茉莉花,但是当它解析使用箭头箭头函数的配置时,我立即收到'意外标记'错误。有谁知道我可能会错过什么?依赖?它在一个新的macbook上。我在旧电脑上没有这个问题。带箭头功能的语法错误

exports.config = { 
    framework: 'jasmine2', 
    capabilities: env.capabilities, 
    baseUrl: env.baseUrl, 
    specs: env.specs, 
    allScriptsTimeout: 30 * 10000, 

onPrepare: async() => { 
    if (!global.jasmineRequire) { 
     var jasmineRequire = require('jasmine-core'); 
     if (typeof jasmineRequire.interface !== 'function') { 
      throw "not able to load real jasmineRequire" 
     } 
     global.jasmineRequire = jasmineRequire; 
    } 
    require('jasmine-promises'); await browser.get(env.baseUrl + 
    '#!/login'); 



    macs-iMac:e2etest AchieveIt$ protractor conf.js 
    [08:03:45] E/configParser - Error code: 105 
    [08:03:45] E/configParser - Error message: failed loading 
    configuration file conf.js 
    [08:03:45] E/configParser - 
    /Users/mac/achieveit/E2ETests/e2etest/conf.js:13 
    onPrepare: async()=> { 
      ^
    SyntaxError: Unexpected token (
    at createScript (vm.js:56:10) 

回答

1

更新来更新

没关系,我看你正在使用的对象了。你的编译器是什么?我认为你的编译器没有正确编译es6。确保无论全局还是本地安装了所有节点模块。您的代码应该是有效的,看到这个小提琴:https://es6console.com/j20jir0j/

UPDATE

即使在ES6,你的语法是错误的。它应该是:

onPrepare = async() => { 

老了TS

这不是有效的打字稿,不应该在任何地方工作。

更改您的线路:

onPrepare =(): async => { 

或者,如果你不需要词汇范围:

onPrepare(): async { 
我没有使用打字稿
+0

。至少我不打算 – Jameson

+0

即使使用es6,你的语法也是无效的。尝试: onPrepare = async()=> { – Eeks33

+0

其实我只是意识到你正在使用一个对象。该问题必须与您的编译器。看到这个小提琴,应该是正确的:https://es6console.com/j20jir0j/请确保您使用的proes es6编译器 – Eeks33