【问题标题】:Typescript Compilaton Issue With Angular ProtractorAngular Protractor 的 Typescript Compilaton 问题
【发布时间】:2020-02-22 01:18:51
【问题描述】:

我有一个简单的 Typescript 类

export class Hello{
    myname: string = 'Scott';

    sayHello() {
        console.log(this.myname);
    }
}

我从我的 Protractor Typescript 文件中执行此操作

import { Hello } from './hello';
const hello = new Hello();
hello.sayHello();

但是这会导致 Typescript 编译错误:

[11:48:33] E/launcher - 错误:TSError:⨯ 无法编译 TypeScript: projects/cxone-component-showcase/e2e/src/hello.ts(3,14):错误 TS2339:“Hello”类型上不存在属性“myname”。 projects/cxone-component-showcase/e2e/src/hello.ts(6,26):错误 TS2339:“Hello”类型上不存在属性“myname”。

我可以采用完全相同的 Typescript 类并将其用于实际的 Angular 应用程序,它工作得很好。我是否需要为 e2e 测试更新 tsconfig 文件中的某些内容?目前对于 e2e 的配置是

{
  "extends": "../../../tsconfig.json",
  "compilerOptions": {
    "outDir": "../../../out-tsc/e2e",
    "module": "commonjs",
    "target": "es5",
    "types": [
      "jasmine",
      "jasminewd2",
      "node"
    ]
  }
}

任何让我发疯的想法。

【问题讨论】:

  • 你需要添加一个构造函数,我认为:)

标签: angular typescript protractor


【解决方案1】:

我的量角器配置文件中有这两行,以允许从 tsconfig 文件中指定的路径属性加载导入:

require('ts-node/register');
require('tsconfig-paths/register');

require('ts-node/register');是问题所在。一旦我删除它,问题就消失了。原来我只需要 require('tsconfig-paths/register');工作的路径。

【讨论】:

    猜你喜欢
    • 2017-11-12
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多