#angular #nrwl-nx #nrwl
#угловой #nrwl-nx #nrwl
Вопрос:
Мой план состоял в том, чтобы использовать модули, связанные с NgRx (магазин, эффекты, средства разработки и т. Д.), В модуле библиотеки, а не в модуле приложения.
Модули, связанные с NgRx, импортируются в libs/…/shell-модуль, который, в свою очередь, импортируется в модуль приложений.
**ПРОБЛЕМА:**
Я хотел бы предоставить переменную environment.production в своих библиотеках, но я понятия не имею, как получить ее в оболочке-модуле без использования относительного/абсолютного пути импорта.
библиотеки/…/shell.module.ts
import { environment } from '../../../../../../../apps/test-app/src/environments/environment'; imports:[ ... !environment.production ? StoreDevtoolsModule.instrument() : [] ... ]
**ВОПРОСЫ:**
- Невозможно ли разрешить переменную environment.production в угловом модуле?
Я знаю, как вводить материал в компоненты, но как вы вводите его в модули?
Трюк с конфигурацией .forRoot() не сработал, потому что массив импорта в декораторе модуля выходит за рамки класса модуля. - есть ли другой способ сделать это без тесной связи файла environment.ts и модулей моих библиотек?
- Определение пути » @ » для environment.ts в файле tsconfig.json, а затем его импорт в модуль по-прежнему считается тесной связью … верно?
Ответ №1:
для этого я бы вообще рекомендовал перенести конфигурацию среды также в библиотеку.
Например, у вас может быть libs/shared/env/environment.*.ts
, или libs/domain/env/environment.*.ts
. Вам нужно будет обновить шаги сборки для вашего приложения, чтобы убедиться, что fileReplacements настроен для их обработки. Затем в вашем приложении вы можете использовать import {environment} from '@company/shared/eng'
.
Это выглядело бы немного по-другому при использовании сборных библиотек, так как вы хотели бы обрабатывать места файлов в определении сборки библиотек.
Комментарии:
1. Привет, Крейгори, я думал об этом. Однако не будет ли это «нарушением рекомендуемой структуры проекта Angular/Nx»? И, возможно, приведут к ненужным проблемам в долгосрочной перспективе?
2. Я не думаю, что это нарушило бы структуру больше, чем любые другие основные разделяемые библиотеки.
3. Я сделал это, и я получаю эту ошибку: «Проекты должны использовать относительный импорт для импорта из других файлов в рамках того же проекта. Используйте «./путь/к/файлу» вместо» импорт из…». Ошибка присутствует даже после перезапуска сервера ESLint.