【发布时间】: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