Создайте два варианта одного и того же проекта с помощью Angular
Я работаю над проектом, который требует создания двух вариантов одного и того же веб-сайта (мужского и женского). Каждый из этих двух проектов должен находиться на разных путях: первый www.website.com/male/somelink и второй www.website.com /женщина/какая-то ссылка
Два веб-сайта должны быть действительно одинаковыми, за исключением нескольких вещей, которые должны отличаться, таких как цвета, данные, полученные из API, или некоторые определенные маршруты для мужчин или другие для женщин. Чтобы мой код был чистым и последовательным, я пытаюсь найти лучшее решение для совместного использования как можно большего количества кода с двумя проектами, но я не могу найти решение для совместного использования всего этого кода и сохранения большей части общего
Я читал эту статью, но проблема у меня с этим методом в том, что у него нет возможности иметь общие маршруты, и даже если я решу создать свои службы-компоненты в корневых проектах и реимпорт в маршрутах, я также в моем коде нет возможности узнать, в каком я разделе (мужской или женский)
Я также думал о создании двух разных сборок и использовании переменных среды для определения мужских или женских условий в коде, но в этом случае я не вижу, как изолировать часть маршрутов (маршруты должны быть общими и другими специфическими)
Может ли кто-нибудь помочь мне найти лучшее решение, пожалуйста?
Спасибо!
1 ответ
Вы можете добиться этого с помощью параметра маршрута.
Вставьте это в свой
app-routing.module.ts
.
const routes: Routes = [
:
{path: ':gender/somelink', component: SomeLinkComponent},
]
В
SomeLinkComponent.ts
, делай вот так.
public gender = this.route.snapshot.paramMap.get('gender');
constructor(
private route: ActivatedRoute,
) { }
Затем вы должны реализовать свою логику с помощью
gender
ценность.