tsconfig.json typeroots自定义路径未拾取



我有一些自定义.D.TS文件,我希望TSC在编译时拾取这些文件。为了完成此操作,我将tsconfig.file修改为包括以下

"typeRoots": [
      "../node_modules/@types",
      "./app/modules"
    ]

./应用程序/模块是我的自定义.D.TS文件所在的地方。在./app/modules文件夹中,我有以下文件mymodule.d.ts

export declare module myModule {
  function Login();
  function Logout();
}

现在在我的其他打字稿文件中,我有以下导入

import { myModule } from 'myModule';

在这里我得到以下错误找不到模块'myModule'。

我找到了解决此问题的配置。注意pathsbaseUrl属性:

{
  "version": "2.1.5",
  "compilerOptions": {
    "module": "commonjs",
    "target": "ES5",
    "removeComments": true,
    "preserveConstEnums": true,
    "inlineSourceMap": true,
    "lib": ["es6", "dom"],
    "typeRoots": ["src/subfolder/node_modules/@types"],
    "moduleResolution": "node",
    "baseUrl": "./",
    "paths": {
      "*": ["src/subfolder/node_modules/@types/*", "*"]
    }
  },
  "exclude": ["node_modules", "src/subfolder/node_modules"]
}

如果您要解决此问题的目标,即在项目中添加包含自定义类型声明的文件夹,请尝试使用"includes" TSCONFIG选项而不是"typeRoots"选项。

对于我的一生,我无法按预期的是typeRoots属性,但我发现您可以使用includes属性。

创建一个文件夹以保存您的类型声明,而不是将该文件夹路径添加到typeRoots TSCONFIG选项中,将其添加到includes TSCONFIG选项中。在我的用法中,一切都如预期的那样行为。

{
  "include": ["./src", "./typings"],
}

相关内容

  • 没有找到相关文章

最新更新