как безопасно удалить библиотеку? - PullRequest
0 голосов
/ 18 апреля 2020

Мне нужно создать библиотеку с соглашением об именах, например "@ our / library" .. сначала я не осознавал, что ng может напрямую с этим справиться, поэтому я просто сделал следующее:

ng new our-library --create-application=false
cd library
ng g library library
ng g application demo

после удовлетворения импорта в мое демонстрационное приложение непосредственно из моей сборки я попытался ng g library @our/library, и это сработало! Я могу напрямую импортировать из '@ our / library' после сборки! это безумие :), но есть изменения, вроде tsconfig, по крайней мере, я думаю, которые относятся к библиотекам, которые генерирует ng. Как удалить первую созданную мной библиотеку?

1 Ответ

1 голос
/ 18 апреля 2020

К сожалению, в CLI нет команды для удаления библиотеки, поэтому вам нужно сделать это вручную.

Необходимо удалить проект из файла angular.json, удалив свойство с библиотекой имя из значения projects. Вот только соответствующая часть файла project.json:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "demo": {
      ...
    },
    "library": { // delete this entry to remove the library
      ...
    },
    "@our/library": {
      ...
    }
  },
  "defaultProject": "demo"
}

В файле tsconfig.json вы найдете запись с именем библиотеки в свойстве paths внутри compilerOptions. Вы также удаляете эту запись, и все в порядке. Вот соответствующая информация от tsconfig.json.

{
  "compileOnSave": false,
  "compilerOptions": {
    ...
    "paths": {
      "library": [ // delete this entry to remove the library
        "./dist/library/library",
        "./dist/library"
      ],
      "@our/library": [
        "./dist/our/library/library",
        "./dist/our/library"
    }
  },
  ...
}

После этих изменений вы также можете удалить файлы в папке проектов, и ваша библиотека будет удалена.

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