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

use*_*774 7 module typescript tsconfig

我有一些自定义.d.ts文件,我希望tsc在编译时获取这些文件.为了完成这项工作,我修改了tsconfig.file以包含以下内容

"typeRoots": [
      "../node_modules/@types",
      "./app/modules"
    ]
Run Code Online (Sandbox Code Playgroud)

./app/modules是我的自定义.d.ts文件所在的位置.在./app/modules文件夹中,我有以下文件myModule.d.ts

export declare module myModule {
  function Login();
  function Logout();
}
Run Code Online (Sandbox Code Playgroud)

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

import { myModule } from 'myModule';
Run Code Online (Sandbox Code Playgroud)

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

htt*_*ete 8

我找到了解决这个问题的配置。注意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"]
}
Run Code Online (Sandbox Code Playgroud)

  • 这似乎适用于全局类型(由声明模块语法引入),但不适用于包含模块的声明文件? (3认同)