tsconfig.json和typings.json之间的关系?

时间:2017-02-17 21:09:31

标签: javascript .net typescript typescript-typings tsconfig

我下载了一个包含Angular2-final的示例.NET MVC应用程序。该项目在根目录下有一个typings.json,在ng2 app dir中有一个tsconfig.json。这两个文件之间有什么关系?这是否代表在VS中配置TypeScript的最新且最好的方法?是typings.json还是可以配置tsconfig.json来覆盖typings.json中的功能?这是tsconfig.json:

{
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "module": "commonjs",
    "noEmitOnError": true,
    "noImplicitAny": false,
    "outDir": "../Scripts/",
    "removeComments": false,
    "sourceMap": true,
    "target": "es5",
    "moduleResolution": "node"
  },
  "exclude": [
    "node_modules",
    "typings/index",
    "typings/index.d.ts"
  ]
}

这里是typings.json:

{
  "globalDependencies": {
    "core-js": "registry:dt/core-js#0.0.0+20160725163759",
    "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
    "node": "registry:dt/node#6.0.0+20160909174046"
  }
}

1 个答案:

答案 0 :(得分:2)

Typings是typescript的类型定义管理器:https://github.com/typings/typings

它使用typings.json文件,类似于npm如何使用package.json文件,存储项目所需的类型定义。

tsconfig.json是typescript配置文件,用于存储typescript编译器的配置。

您不需要使用打字,并且可以使用npmjs.org上的@types组织来获取类型定义:https://www.npmjs.com/~types。像这样用npm安装:

npm install --save-dev @types/<module name>

然后将以下内容添加到tsconfig.json:

  "typeRoots": [
    "../node_modules/@types"
  ]