如何在tsconfig.json文件中为外部库配置路径属性

时间:2019-07-05 14:43:33

标签: angular typescript typescript-typings typescript2.0

在这里找到我想要做的最接近的解释 [a link]。不过,我仍在努力寻求解决方案来进行编译。

我有我要在项目中使用的外部类型,它们都具有 .d.ts文件,其名称空间为“ DS / ”,我将其存储在名为“类型”的文件夹中。下面是我简单的Angular应用的文件夹结构。

-MyAppName
--typings
----all my modules d.ts
--src
----app
-tsconfig.json

这是我的tsconfig.json文件,如下所示

"compileOnSave": false,
  "compilerOptions": {
    "baseUrl": ".",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "module": "esnext",
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ],
    "paths": {
      "DS/*": [
        "typings/*"
      ],
      "*": [
        "src/*"
      ]
    }
  },
  "include": [
    "typings/**/*.ts"
  ],
  "exclude": [
    "node_modules"
  ],
  "angularCompilerOptions": {
    "fullTemplateTypeCheck": true,
    "strictInjectionParameters": true
  }

我在导入我的库时遇到错误,如下所示 从“ DS / MyModuleName”导入{MyModuleName};

./src/app/app.module.ts中的

ERROR 找不到模块:错误:无法解析“ MyAppName \ src \ app”中的“ DS / MyModuleName”

我正在使用AngularCLI来构建应用程序。我无法将tsconfig文件配置为支持这些外部导入的库。不知道我在做什么错。请帮忙。

1 个答案:

答案 0 :(得分:0)

根据您的树,尝试进入tsconfig.ts

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

"paths": {
  "DS/*": [
    "typings/*"
  ],
}

"include": ["src", "typings"],

然后在您的app.module.ts

import { MyModuleName} from 'DS/myModuleName.module';