Angular 7: добавление локального модуля с ссылкой npm - PullRequest
0 голосов
/ 07 октября 2019

Я создал пакет с модулем вне папки с приложением, которое должно содержать модуль для его проверки. Затем я добавил пакет с npm link @scope/module-name. После этого я добавил пути к корню tsconfig.json.

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "module": "es2015",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "importHelpers": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ],
    "paths": {
      "@scope/module-name": [
        "node_modules/@scope/module-name"
      ],
      "@scope/module-name/*": [
        "node_modules/@scope/module-name/*"
      ]
    }
  }
}

Я также добавил пакет к include в tsconfig.app.json

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "types": []
  },
  "include": [
    "**/*.ts",
    "../node_modules/@scope/**/*.ts",
  ],
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}

И да, я добавил "preserveSymlinks": true в angular.json, как сказано впохожие вопросы по СО.

В app.module.ts я делаю

import { DispRegistryModule } from "@scope/module-name/public_api.d.ts"; 

Но все равно я получаю ошибку

ОШИБКА в ./node_modules/@scope/module-name / public_api.d.ts Ошибка сборки модуля (из ./node_modules/@ngtools/webpack/src/index.js): Ошибка: D: \ internal \ test-app \ node_modules @ scope \ module-name \ public_api. d.ts отсутствует в компиляции TypeScript. Пожалуйста, убедитесь, что он находится в вашем tsconfig через свойство 'files' или 'include'.

Как я могу исправить ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...