【问题标题】:SyntaxError: Unexpected token { when trying to run protractor testSyntaxError: Unexpected token { 尝试运行量角器测试时
【发布时间】:2019-02-11 18:24:09
【问题描述】:

我正在尝试运行一组非常简单的量角器测试,但是,当我运行“yarn e2e”命令时,出现以下错误:

import { browser } from "protractor";
   ^

SyntaxError: Unexpected token {

protractor-config.ts中出现错误的代码是:

import { browser } from "protractor";

exports.config = {
  allScriptsTimeout: 20000,

  specs: ['./spec/spec.ts'],

  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 720000
  },

  capabilities: {
    'browserName': 'chrome',
  },

  directConnect: true,

  framework: 'jasmine',

  SELENIUM_PROMISE_MANAGER: false,

  onPrepare: function () {
    browser.driver.manage().window().setSize(1280, 1024);
  }
}

我尝试过的:

  • 变化中

从“量角器”导入{浏览器};

const browser = require('protractor');

  • 在我的 tsconfig.json 中将“target”:“es5”更改为 es6

但这些选项都没有任何区别!

有人知道这是什么吗?提前非常感谢。

【问题讨论】:

  • @AnkitAgarwal 我得到“意外的标识符'浏览器'”错误。
  • 混合使用 importrequire 语法没有意义。

标签: javascript typescript ecmascript-6 protractor ecmascript-5


【解决方案1】:

你的 protractor.config.js 应该包含:

require('ts-node').register({
    project: 'e2e/tsconfig.e2e.json' // if you have one
});

这部分是告诉量角器如何处理打字稿的部分。这部分代码来自angular-cli,所以我建议你用ng new myapp从头开始创建一个新的angular应用并比较配置(量角器默认工作)

【讨论】:

  • 如果我没有 tsconfig.e2e.json 怎么办?
  • 评论那一行?
  • 仍然出现同样的错误,那行的目的是什么?
  • 如果你不告诉量角器,他怎么会知道执行打字稿? require('ts-node') 很重要
  • 我建议你用ng new myapp从头开始创建一个新的角度应用程序并比较配置(量角器默认工作)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-22
  • 2017-12-28
  • 2016-07-28
  • 1970-01-01
  • 2019-05-17
  • 2018-03-29
  • 2013-05-30
相关资源
最近更新 更多