【问题标题】:Protractor configuration error w/ TypeScript + Angular 2带 TypeScript + Angular 2 的量角器配置错误
【发布时间】:2016-11-26 12:31:51
【问题描述】:

我无法让 Protractor 在我的项目中运行。我的 tsconfig.json 文件有问题:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "sourceMap": true,
    "noEmitHelpers": true,
    "baseUrl": "./src",
    "paths": {
      "components": ["app/components"],
      "core": ["app/core"],
      "data": ["app/data"],
      "pages": ["app/pages"],
      "schemas": ["app/schemas"],
      "utility": ["app/utility"]
    }
  },
  "exclude": [
    "node_modules"
  ],
  "awesomeTypescriptLoaderOptions": {
    "forkChecker": true,
    "useWebpackText": true
  },
  "compileOnSave": false,
  "buildOnSave": false,
  "atom": { "rewriteTsconfig": false }
}

“baseUrl”和“paths”选项特别失败。如果我把它们拿出来,它会完美运行。有什么想法吗?

编辑: 我目前正在使用 Protractor 3.2.2,我们更新到 4.0 只是为了获取此堆栈跟踪:

TSError: ⨯ Unable to compile TypeScript
Unknown compiler option 'baseUrl'. (5023)
Unknown compiler option 'paths'. (5023)
    at Object.register (/Users/Dan/git/LifeSiteAngular2/node_modules/ts-node/src/index.ts:185:11)
    at Object.<anonymous> (/Users/Dan/git/LifeSiteAngular2/node_modules/ts-node/register.js:1:15)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (/Users/Dan/git/LifeSiteAngular2/config/protractor.conf.js:5:1)
    at Module._compile (module.js:413:34)

【问题讨论】:

  • 您将量角器配置与 tsconfig 混淆了。 Protractor 配置文件应该有一个绝对 URL 供浏览器访问,但 tsconfig baseUrl/paths 用于模块解析 gist.github.com/vladima/725949fd9464e6a94771#pathMappings
  • 第一条评论就是你的答案。我不知道为什么它没有作为答案发布。
  • 什么意思?他说的是量角器配置的“baseUrl”,而不是 tsconfig 的“baseUrl”和“paths”选项。
  • tsconfig 没有“baseUrl”和“路径”选项。这些是量角器配置选项。这就是您的 TypeScript 编译器无法编译的原因。这就是第一条评论所解释的内容。
  • 明白了,我收回我的最后评论。但是,这是 TypeScript 2 的功能,不是吗?你在使用 TypeScript 2 编译器吗?

标签: typescript angular protractor webpack


【解决方案1】:

问题是旧版本的 typescript 与 tsconfig.json 中的 baseUrl 和路径选项不兼容。

通过将量角器更新到 4.0.0 版和将打字稿更新到 2.0.0 版来解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    • 2017-01-28
    • 2017-08-06
    • 2016-10-04
    • 2016-10-22
    • 2020-03-31
    • 2018-01-08
    相关资源
    最近更新 更多