如何在解决模块时阻止打字稿2.0遍历所有父目录?

Zak*_*iMa 6 typescript typescript2.0

升级到Typescript 2.0(2.1.6),开始出现“重复标识符”错误。仔细观察后,发现Typescript开始从所有上层目录(基本上是其他项目)中导入@types。

应该让Typescript忽略上层node_modules的配置是什么?

src
 ??? node_modules << *** how to ignore it? ***
     ??? @types

 ??? my.app << *** how to build this folder and down only? ***
         ??? node_modules
             ??? @types
Run Code Online (Sandbox Code Playgroud)

编辑:这是我得到的错误的示例:

键入/全局/摩卡/index.d.ts(30,13):错误TS2300:重复的标识符“描述”。../../../node_modules/@types/jasmine/index.d.ts(9,18):错误TS2300:标识符'describe'重复。

listFiles:true表示从上层文件夹导入@ types / jasmine:

C:/src/<project>/<folder>/<my.app>/typings/globals/mocha/index.d.ts
C:/src/node_modules/@types/jasmine/index.d.ts
Run Code Online (Sandbox Code Playgroud)

如果我重命名上层node_modules文件夹,则构建成功。

pet*_*est 9

官方文件,除非你指定在当前目录node_modules指定和所有的父母会走过typeRoots

所以理论上,答案应该是这样的:

{
  "compilerOptions": {
    "typeRoots": [
      "./node_modules/@types"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

由于您仍然希望包含当前目录中的类型。

不幸的是,这对我来说似乎不起作用。