Nx Workspace: Angular CLI не находит путь к файлу после перехода на NX

Я пытаюсь перенести приложение Angular CLI на Nx. Моя главная цель — превратить все мое приложение в большой проект nx, а затем постепенно разделить его на небольшие удаленные приложения и общие библиотеки.

Выполните команду ng add @nrwl/workspace , и она переместит мое приложение в apps//src, создаст nx.json, создаст более красивые файлы конфигурации... Я думаю, что все прошло хорошо, однако мои компоненты в папке приложений не работают. t найти любой путь к файлу.

Я уже создал путь к tsconfig.base.json, но компоненты все еще не могут найти путь к файлу. Есть ли какой-то конфиг, который я пропустил?

tsconfig.base.json

       "paths": {
      "@bulk-components/*": [
        "apps/portal-alelo-auto/src/app/shared/components/bulk/*"
      ]

Пример компонента app/portal-alelo-auto/src/app/quick-search/card-detail/reissue/reissue.component.ts

      import { CustomerType } from 'src/app/shared/enum'; //
import { MessageModule } from '@bulk-components/shared/message/message.module';

1 ответ

Лучше всего будет создать новое рабочее пространство, используя версию nx, совместимую с имеющейся у вас версией angular.

Сначала создайте два рабочих пространства, одно для использования в качестве эталона, а другое для переноса проекта.

замените «последнюю» на предполагаемую версию и выполните дважды (когда вас спросят о «предустановке», выберите angular)

      npx create-nx-workspace@latest  

это создаст одно приложение в каждой рабочей области (дополнительная информация в официальной документации )

Установите cli, чтобы лучше работать с nx:

      npm install -g nx

Использование в качестве базовой папки <workspace-base>/apps/<your app>/srcя позвоню это base

  1. переместите следующие файлы в базовую папку, перезаписав существующие:
  • index.html
  • main.ts
  • стили.scss
  • favicon.ico (если есть)
  1. игнорировать все остальные файлы базового уровня

  2. скопируйте все остальные папки приложения в <workspace-base>/apps/<your app>/src/app

  3. добавить в <workspace-base>/package.jsonбиблиотеки, которые использует ваше приложение (кроме угловых зависимостей).

  4. бежать npm i

теперь давайте попробуем запустить ваше приложение с помощью nx.

бежать

      nx serve <your app>

Вероятно, в файлах вашего приложения будет некоторый импорт, который нужно настроить, но ничего, что не исправит несколько замен всех команд в выбранной вами среде IDE.

Убедитесь, что вы проверили свое эталонное рабочее пространство, чтобы убедиться, что вы не слишком сильно изменили базовые файлы nx (когда вам это нужно).

Довольно сложно предоставить какие-либо дополнительные инструкции, поскольку каждое приложение имеет свои особенности, но это путь к славе!

Альтернативой этому ручному переходу на nx является выполнение инструкций из официальной документации nx . Честно говоря, я никогда не добивался успеха, просто используя приведенные там инструкции, и я перенес довольно много угловых проектов на nx.

Другие вопросы по тегам