18

我想修复警告:

警告:找不到父 tsconfig.json

在 TypeScriptErrors选项卡中IntelliJ IDEA 2016.3。我的 TypeScript 代码位于该src目录中,并且我的 TypeScript 输出lib将按预期进行,而无需将src文件夹添加到lib.

lib在其他项目中使用该文件夹,它似乎按预期工作。所以这似乎不是一个大问题,但我偶尔会遇到 TSLint 的问题,它有时似乎没有拾取.tsx文件是 JSX 并且 lints 不正确,并且似乎偶尔将其视为普通.ts文件。最终它似乎想通了。我想知道这是否与我的 TSLint 设置配置为使用有关tsconfig.json

我之前也曾在文件夹中的文件.js旁边出现过转译文件,但自从我最近修改了我的文件后就没有了。.tssrctsconfig.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
  }
}
4

4 回答 4

23

include尝试在文件中设置部分,tsconfig.json如下图所示。
(请注意,我的项目的根文件夹是frontend,我的include部分是frontend/**/*

当然,您不需要将项目的根文件夹重命名为frontend.
只有命名应该匹配。

tsconfig.json它应该在您保存并打开一个.ts.tsx文件后立即生效。如果它不尝试重新启动WebStorm/IDEA.

并且不要忘记error在测试此解决方案之前清除控制台。它可能会缓存以前的消息。

P/S:我正在使用WebStorm 2016.3.1.

在此处输入图像描述


如果您与上述解决方案webpack一起使用将导致您的构建失败。ts-loader如果是这种情况,请考虑使用这种方法。

在此处输入图像描述

于 2016-12-11T08:32:26.490 回答
8

问题特定于所使用的 TypeScript 版本 (2.1.x);它在2016.3 中修复。2 EAP

注意:这个答案是指特定于 IDE(WebStorm、PHPStorm、IDEA)版本 2016.3 的问题:它不适用于 TypeScript 2.1.x,显示错误警告。如果您Cannot find parent tsconfig.json在其他 IDE 版本中看到类似消息 ( ),则可能是您的配置有问题:如果当前编辑.ts的文件不包含在任何tsconfig.json.

于 2016-12-13T13:30:58.943 回答
4

上述解决方案都不适合我,但我确实偶然发现了一个 tsconfig 更改。IDE 似乎使用了不同的规则tsc

这不起作用

"include": ["./typings", "./src", "./test"],

这确实有效

"include": ["./typings/**/*", "./src/**/*", "./test/**/*"],
于 2017-12-12T23:20:41.273 回答
1

尝试将“版本号”设置为您的 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
    }
}
于 2016-12-10T11:18:40.930 回答