警告:找不到父 tsconfig.json
Warning: Cannot find parent tsconfig.json
我想修复警告:
Warning: Cannot find parent tsconfig.json
在 IntelliJ IDEA 2016.3
的 TypeScript Errors
选项卡中。我的 TypeScript 代码位于 src
目录中,并且我的 TypeScript 输出将按预期进入 lib
而没有将 src
文件夹添加到 lib
.
我在其他项目中使用了 lib
文件夹,它似乎按预期工作。所以这似乎不是一个大问题,但我偶尔会遇到 TSLint 的问题,它有时似乎没有选择一个 .tsx
文件是 JSX 并且 lints 不正确并且似乎偶尔将其视为正常.ts
文件。最终它似乎弄明白了。我想知道这是否与我的 TSLint 设置配置为使用 tsconfig.json
有关。
我之前也有 .js
转译文件出现在 src
文件夹中的 .ts
文件旁边,但自从我最近修改了我的 tsconfig.json
之后就没有了。
文件如下:
tsconfig.json
src/index.ts
lib/index.js
lib/index.d.ts
我已经升级到 TypeScript 2.1.4,但看到的是 2.0.10。
我的 tsconfig.json
文件:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"jsx": "react",
"allowJs": false,
"isolatedModules": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": true,
"noImplicitAny": false,
"noImplicitUseStrict": true,
"noEmitHelpers": false,
"removeComments": true,
"noLib": false,
"sourceMap": true,
"inlineSources": true,
"preserveConstEnums": true,
"allowSyntheticDefaultImports": true,
"suppressImplicitAnyIndexErrors": true,
"rootDir": "./src",
"outDir": "./lib"
},
"include": [
"./src/**/*"
],
"compileOnSave": true,
"atom": {
"rewriteTsconfig": false
}
}
尝试将 "version number" 设置为您的 tsconfig.json 文件。
{
"version": "2.1.4",
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"jsx": "react",
"allowJs": false,
"isolatedModules": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": true,
"noImplicitAny": false,
"noImplicitUseStrict": true,
"noEmitHelpers": false,
"removeComments": true,
"noLib": false,
"sourceMap": true,
"inlineSources": true,
"preserveConstEnums": true,
"allowSyntheticDefaultImports": true,
"suppressImplicitAnyIndexErrors": true,
"rootDir": "./src",
"outDir": "./lib"
},
"include": [
"./src/**/*"
],
"compileOnSave": true,
"atom": {
"rewriteTsconfig": false
}
}
尝试在文件 tsconfig.json
中设置 include
部分,如下图所示。
(请注意,我项目的根文件夹是 frontend
而我的 include
部分是 frontend/**/*
)。
当然,您不需要将项目的根文件夹重命名为 frontend
。
只有命名应该匹配。
保存 tsconfig.json
并打开 .ts
或 .tsx
文件后应该会立即生效。如果它不尝试重新启动 WebStorm/IDEA
.
并且不要忘记在测试此解决方案之前清除 error
控制台。它可能会缓存以前的消息。
P/S: 我正在使用 WebStorm 2016.3.1
.
如果您将 webpack
与 ts-loader
一起使用,上述解决方案将导致您的构建失败。如果是这种情况,请考虑改用这种方法。
问题特定于正在使用的 TypeScript 版本 (2.1.x);它固定在 2016.3. 2 EAP
注意:此答案指的是特定于 IDE(WebStorm、PHPStorm、IDEA)版本 2016.3 的问题:它不能很好地与 TypeScript 2 配合使用。1.x , 显示错误警告。
如果您在其他 IDE 版本中看到类似消息 (Cannot find parent tsconfig.json
),则可能是您的配置有问题:如果当前编辑的 .ts
文件未包含在任何 tsconfig.json
。
None 以上解决方案对我有用,但我确实偶然发现了一个 tsconfig 更改。 IDE 似乎使用了与 tsc
.
不同的规则
这没有用:
"include": ["./typings", "./src", "./test"],
这确实有效:
"include": ["./typings/**/*", "./src/**/*", "./test/**/*"],
我想修复警告:
Warning: Cannot find parent tsconfig.json
在 IntelliJ IDEA 2016.3
的 TypeScript Errors
选项卡中。我的 TypeScript 代码位于 src
目录中,并且我的 TypeScript 输出将按预期进入 lib
而没有将 src
文件夹添加到 lib
.
我在其他项目中使用了 lib
文件夹,它似乎按预期工作。所以这似乎不是一个大问题,但我偶尔会遇到 TSLint 的问题,它有时似乎没有选择一个 .tsx
文件是 JSX 并且 lints 不正确并且似乎偶尔将其视为正常.ts
文件。最终它似乎弄明白了。我想知道这是否与我的 TSLint 设置配置为使用 tsconfig.json
有关。
我之前也有 .js
转译文件出现在 src
文件夹中的 .ts
文件旁边,但自从我最近修改了我的 tsconfig.json
之后就没有了。
文件如下:
tsconfig.json
src/index.ts
lib/index.js
lib/index.d.ts
我已经升级到 TypeScript 2.1.4,但看到的是 2.0.10。
我的 tsconfig.json
文件:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"jsx": "react",
"allowJs": false,
"isolatedModules": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": true,
"noImplicitAny": false,
"noImplicitUseStrict": true,
"noEmitHelpers": false,
"removeComments": true,
"noLib": false,
"sourceMap": true,
"inlineSources": true,
"preserveConstEnums": true,
"allowSyntheticDefaultImports": true,
"suppressImplicitAnyIndexErrors": true,
"rootDir": "./src",
"outDir": "./lib"
},
"include": [
"./src/**/*"
],
"compileOnSave": true,
"atom": {
"rewriteTsconfig": false
}
}
尝试将 "version number" 设置为您的 tsconfig.json 文件。
{
"version": "2.1.4",
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"jsx": "react",
"allowJs": false,
"isolatedModules": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": true,
"noImplicitAny": false,
"noImplicitUseStrict": true,
"noEmitHelpers": false,
"removeComments": true,
"noLib": false,
"sourceMap": true,
"inlineSources": true,
"preserveConstEnums": true,
"allowSyntheticDefaultImports": true,
"suppressImplicitAnyIndexErrors": true,
"rootDir": "./src",
"outDir": "./lib"
},
"include": [
"./src/**/*"
],
"compileOnSave": true,
"atom": {
"rewriteTsconfig": false
}
}
尝试在文件 tsconfig.json
中设置 include
部分,如下图所示。
(请注意,我项目的根文件夹是 frontend
而我的 include
部分是 frontend/**/*
)。
当然,您不需要将项目的根文件夹重命名为 frontend
。
只有命名应该匹配。
保存 tsconfig.json
并打开 .ts
或 .tsx
文件后应该会立即生效。如果它不尝试重新启动 WebStorm/IDEA
.
并且不要忘记在测试此解决方案之前清除 error
控制台。它可能会缓存以前的消息。
P/S: 我正在使用 WebStorm 2016.3.1
.
如果您将 webpack
与 ts-loader
一起使用,上述解决方案将导致您的构建失败。如果是这种情况,请考虑改用这种方法。
问题特定于正在使用的 TypeScript 版本 (2.1.x);它固定在 2016.3. 2 EAP
注意:此答案指的是特定于 IDE(WebStorm、PHPStorm、IDEA)版本 2016.3 的问题:它不能很好地与 TypeScript 2 配合使用。1.x , 显示错误警告。
如果您在其他 IDE 版本中看到类似消息 (Cannot find parent tsconfig.json
),则可能是您的配置有问题:如果当前编辑的 .ts
文件未包含在任何 tsconfig.json
。
None 以上解决方案对我有用,但我确实偶然发现了一个 tsconfig 更改。 IDE 似乎使用了与 tsc
.
这没有用:
"include": ["./typings", "./src", "./test"],
这确实有效:
"include": ["./typings/**/*", "./src/**/*", "./test/**/*"],