Не удается найти включенный модуль определения - PullRequest
0 голосов
/ 30 марта 2020

Я хотел бы включить файл определения без использования трехслойных директив, поскольку я считаю, что это правильный способ сделать это.

Допустим, моя структура файла выглядит следующим образом:

├───tsconfig.json
├───module
│     └────def.d.ts
└───test
      └────test.ts

Вот tsconfig. json:

{
    "compileOnSave": false,
    "compilerOptions": {
        "target": "ESNext",
        "module": "commonjs",
        "moduleResolution": "node",
        "outDir": "dist/",
        "rootDir": ".",
        "baseUrl": "."
    },
    "include": [
        "module/**/*.d.ts",
        "test/**/*.ts"
    ],
    "exclude": [
        "node_modules",
        "dist"
    ]

}

Вот def.d.ts :

export declare module mymodule {

    export interface ITest {
        test: any
    }

}

И вот test.ts :

module test {

    var t: mymodule.ITest = { test: null }

}

Я получаю следующую ошибку:

test/test.ts:3:12 - error TS2503: Cannot find namespace 'mymodule'.

3     var t: mymodule.ITest = { test: null }
             ~~~~~~~~

Found 1 error.

Я также пытался добавить typeRoots в tsconfig безрезультатно. Как я могу убедиться, что мой файл определения читается?

...