无法找到@ uirouter / angularjs的内联index.d.ts

时间:2017-08-21 07:24:14

标签: angularjs typescript angular-ui-router visual-studio-code

我使用VS代码使用Angularjs 1.6.4和ui-router的最新Typescript版本。

目前,我正在使用@types文件夹进行类型定义。

我有很长一段时间没有使用的Typescript定义文件存在这个问题 - 即使用moment.js,现在当我尝试升级" angular-ui-router"到新的嵌套@ uirouter / angularjs。

问题似乎是打字稿并不知道如何看待"打字"外部库的package.json文件中的字段用于其定义文件,即使在明确存在此类文件的情况下,例如在moment.js和@uirouter / angularjs中。

这是我的tsconfig:

{
    "compilerOptions": {
        "baseUrl": "",
        "module": "es6",
        "noImplicitAny": true,
        "noImplicitReturns": true,
        "removeComments": true,
        "strictNullChecks": true,
        "sourceMap": true,
        "target": "es5",
        "outDir": "junk_js_files",
        "paths": {
            "services": ["app/scripts/services/*"],
            "inputDirectives": ["app/scripts/inputDirectivesModule/*"],
            "common": ["app/scripts/common/*"]
        }
    },
    "include": [
        "app/**/*.ts",
        "DefinitelyTyped/*"
    ],
    "exclude": [
        "node_modules",
        "**/*.spec.ts",
        "dist"
    ]
}

在moment.js和@ uirouter / angularjs中,你可以清楚地看到package.json文件中有一个字段,说明打字(index.d.ts)文件的位置,为什么打字稿会忽略它? / p>

由于这个令人讨厌的错误,我无法升级到最新的uirouter,这使我无法使用最新的定义文件。

我怎样才能教#34; typescript来查找typings字段并使用第三方库提供的index.d.ts吗?

谢谢, 阿维。

2 个答案:

答案 0 :(得分:2)

无论谁发现这个并且也有这个问题,请点击此处:https://github.com/Microsoft/TypeScript/issues/17958

答案 1 :(得分:0)

更新您的tsconfig.json

{
    "compilerOptions": {
        ...
        "moduleResolution": "node"
    },
    ...
}