Импорт путей в библиотеку Angular - PullRequest
0 голосов
/ 19 сентября 2019

Чтобы сократить пути импорта в моей библиотеке, я добавил

"paths": {
  "@services": ["lib/services"]
}

к своему tsconfig.lib.json.Моя структура каталогов в основном по умолчанию, с несколькими проектами, использующими одну библиотеку:

projects
  library/
    src/
      lib/
        services/
          index.ts
    tsconfig.lib.json
  [projects...]

Я хочу использовать импорт как

import {service} from "@services";

только внутри моей библиотеки - но пока яОшибка «Не удается найти модуль @services».

Я думаю, путь указан неверно, но я не могу понять, как это исправить.Кто-нибудь получил идею?

edit: Используется baseUrl: "src" - это работает для сборки, но не при запуске одного из проектов с ng serve (из-за той же ошибки "не удается найти модуль").(флаг не используется)

Спасибо.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2019

Обратитесь к этому tsconfig.json.Убедитесь, что этот файл конфигурации находится на том же уровне, что и папка src

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "paths": {
      "@app/*": [ "src/app/*" ],
      "@core/*": [ "src/app/core/*" ],
      "@environments/*": [ "src/environments/*" ],
      "@shared/*": [ "src/app/shared/*" ]
    },
    "sourceMap": true,
    "declaration": false,
    "module": "es2015",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  }
}
0 голосов
/ 19 сентября 2019

Вы добавили baseurl bcs в соответствии с документацией базовый URL должен быть указан, если "paths" имеет значение. ?

вам также потребуется обновить путь в tsconfig.json, например,

"baseUrl":"./",
 "paths:"{
 "@services/*":["projects/ng-otp-input/src/lib/services"],
...
}

Также вам нужно будет добавить такую ​​же конфигурацию в tsconfig.lib.json Для получения дополнительной информации обратитесь к этому сообщению SO

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