Konfiguracja Frontend (masaku-portal)¶
Instalacja zależności¶
Weryfikacja instalacji¶
# Sprawdź czy wszystko się zainstalowało
npm list --depth=0
# Sprawdź wersję Angular CLI
npx ng version
Konfiguracja środowiska¶
1. Pliki environment¶
Projekt używa różnych konfiguracji dla regionów (DE/AT):
src/environments/
├── de/
│ ├── environment.ts # Development
│ ├── environment.test.ts # Testing
│ ├── environment.staging.ts # Staging
│ ├── environment.preprod.ts # Pre-production
│ └── environment.prod.ts # Production
│
└── at/
├── environment.ts
├── environment.test.ts
└── ...
2. Konfiguracja dla developmentu¶
Domyślnie używany jest src/environments/de/environment.ts:
export const environment = {
production: false,
apiUrl: 'http://localhost:5000/api',
azureClientId: 'your-client-id',
azureAuthority: 'your-authority-url',
redirectUri: 'http://localhost:4200'
};
Uruchomienie dev servera¶
# Standardowe uruchomienie
npm start
# Z Hot Module Replacement
npm run start:hmr
# Aplikacja będzie dostępna na http://localhost:4200
Nx Workspace¶
Projekt używa Nx do zarządzania monorepo:
# Zobacz graf zależności
npx nx graph
# Testuj konkretną bibliotekę
npx nx test budgets
# Builduj konkretną bibliotekę
npx nx build budgets
Import aliasy¶
Wszystkie biblioteki używają aliasów @msk/*:
// Importy z bibliotek
import { BudgetService } from '@msk/budgets';
import { CommonService } from '@msk/common';
import { InputComponent } from '@msk/forms/input';
Tłumaczenia (i18n)¶
# Import tłumaczeń z lokalnych plików
npm run i18n:import-local
# Sprawdź czy pliki są w src/assets/i18n/
ls src/assets/i18n/
# Powinny być: de.json, en.json, pl.json
Linting¶
Testy¶
# Uruchom wszystkie testy
npm test
# Testy z coverage
npm run test:coverage
# Testy konkretnej biblioteki
npx nx test budgets
Troubleshooting¶
Błąd: Cannot find module '@msk/...'¶
Błąd: Port 4200 is already in use¶
Błąd: Out of memory¶
Błąd przy npm install¶
# Wyczyść cache i node_modules
rm -rf node_modules package-lock.json
npm cache clean --force
npm install
Build production¶
# Build dla Germany (Testing)
npm run build:test-de
# Build dla Austria (Testing)
npm run build:test-at
# Output będzie w dist/masaku/{de|at}/