WebStorm tsconfig.json似乎不更新正确的文件

我正在开发使用TypeScript的node.js应用程序。

我在我的项目的根文件夹中创build了一个TypeScript文件。 我运行tsconfig ,它似乎更新dist文件夹。 但是,当我运行的应用程序,我收到一个错误,指出一个函数没有定义。

这里是令人困惑的地方:我的src文件夹中的.js.map文件的老版本似乎与我的源文件具有相同的名称。 这个.js文件似乎有一个较旧版本的文件,缺less必要的function(类方法),与我/dist文件夹中的当前版本不同。

在这一天结束的时候,我试图在我的/dist文件夹中的文件上运行debugging器,并在我的/src TypeScript文件中设置断点。

这是我在/src文件夹中看到的文件结构的样本(这个js文件不是最新的):

在这里输入图像描述

下面是我的/dist文件夹的结构js代码所在的文件结构的例子:

在这里输入图像描述

此外,这里是项目的Web应用程序(rest)部分的debugging器设置:

在这里输入图像描述

最后,这是一个tsconfig.json文件的示例:

 { "compilerOptions": { "module": "commonjs", "target": "ES5", "moduleResolution": "node", "experimentalDecorators": true, "emitDecoratorMetadata": true, "types": ["reflect-metadata"], "lib": ["ES6"], "sourceMap": true, "inlineSources": true, "pretty": true, "outDir": "./dist", "rootDir": "./src/", "noLib": false }, "compileOnSave": true, "include": [ "src/**/*" ], "exclude": [ "node_modules", "node_modules/@types" ] } 
  1. 我想了解什么是错的,导致它读取错误的js文件,而不是在/dist文件夹中的?

  2. 我能做些什么来解决这个问题,指向/dist文件夹。 我认为我设置的debugging器设置会这样做,但是这似乎并不是这样。

更新:我删除了在src文件夹中生成的.js文件,并最终返回到该文件夹​​,再次进行其他更改后,它们不是最新的。 我不知道什么是生成这些文件; 这是在webstorm中的设置还是在tsconig.json?

别的东西看起来不对。 当我打开dist文件夹中的一个文件时,我发现下面的代码而不是JS代码:

 "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=group.js.map 

这不是我期待的,因为我期待看到的js代码。

你在你的rootDir和你的rootDir中声明了src ,所有的东西都应该相对于rootDir声明,但是在这种情况下你可能不需要包含或者排除,因为你在src包含了所有东西。 compileOnSave选项是在删除文件时生成文件的原因,因为已经设置了一个watcher器来这样做。 你也混合你的targetlib JavaScript版本。

如果您已经使用了types属性,则不需要显式排除@types

如果指定了types,则只包含列出的软件包。

这是一个清理的configuration,你可以尝试

 { "compilerOptions": { "module": "commonjs", "target": "ES5", "moduleResolution": "node", "experimentalDecorators": true, "emitDecoratorMetadata": true, "types": ["reflect-metadata"], "lib": ["ES5"], "sourceMap": true, "inlineSources": true, "pretty": true, "outDir": "dist", "rootDir": "src", "noLib": false }, "compileOnSave": false }