Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
projekty Fabric Apps używają spójnego układu folderów, dzięki czemu można szybko znaleźć modele danych, konfigurację zaplecza i kod frontonu. W tym artykule wyjaśniono, z jakimi plikami i folderami najprawdopodobniej będziesz pracować po utworzeniu projektu.
Układ folderu
Podczas tworzenia nowego projektu Fabric Apps szablon generuje następującą strukturę:
your-project/
├── rayfin/
│ ├── data/
│ │ ├── schema.ts
│ │ └── *.ts
│ ├── .env
│ ├── rayfin.yml
│ └── tsconfig.json
├── src/
├── package.json
├── tsconfig.json
└── README.md
Kluczowe pliki konfiguracyjne
rayfin/rayfin.yml
Plik rayfin/rayfin.yml jest głównym plikiem konfiguracji zaplecza Fabric Apps. Steruje ona usługami uruchamianymi podczas programowania lokalnego i obsługuje interpolację zmiennych środowiskowych dla dynamicznych wartości konfiguracji.
Pełny przykład:
id: my-app
name: my-app
version: 1.0.0
services:
auth:
enabled: true
expiryInMinutes: 60
refreshToken:
lifetimeInDays: 30
customClaims:
tenant: "default"
scopes:
- read:data
- write:data
allowedRedirectUris:
- http://localhost:5173
- http://localhost:5173/auth/callback
password:
enabled: true
fabric:
enabled: false
passwordless:
magicLink:
enabled: false
expiryMinutes: 15
smsOtp:
enabled: false
email:
enabled: false
provider: smtp
senderName: Rayfin Platform
verificationTokenExpirationHours: 24
passwordResetTokenExpirationMinutes: 30
smtp:
host: maildev
port: 1025
senderEmail: noreply@rayfin.local
username: ""
password: ""
useSsl: false
useStartTls: false
webPort: 1080
data:
enabled: true
dialect: mssql
storage:
enabled: false
staticHosting:
enabled: true
root: .
folder: dist
buildCommand: npm run build
indexDocument: index.html
Konfiguracja obejmuje następujące pola klucza:
Pola najwyższego poziomu
| Pole | Typ | Required | Opis |
|---|---|---|---|
id |
string |
Yes | Skrót projektu używany jako nazwa projektu Docker Compose i identyfikator elementu Fabric. |
name |
string |
Yes | Czytelna dla człowieka wyświetlana nazwa projektu. |
version |
string |
Yes | Wersja projektu (semver). |
services |
object |
Yes | Blok konfiguracji usługi. |
services.data
| Pole | Typ | Wartość domyślna | Opis |
|---|---|---|---|
enabled |
boolean |
false |
Włącz usługę danych. |
services.auth
| Pole | Typ | Wartość domyślna | Opis |
|---|---|---|---|
enabled |
boolean |
false |
Włącz usługę uwierzytelniania. |
expiryInMinutes |
number |
— | Czas wygaśnięcia tokenu JWT w minutach. |
customClaims |
Record<string, string> |
— | Niestandardowe roszczenia dodane do wystawionych tokenów JWT. |
scopes |
string[] |
— | Zakresy OAuth (na przykład ["read:data", "write:data"]). |
refreshToken.lifetimeInDays |
number |
— | Okres istnienia tokenu odświeżania w dniach. |
allowedRedirectUris |
string[] |
["http://localhost:5173"] |
Dozwolone adresy URI przekierowań dla wywołań zwrotnych uwierzytelniania. |
services.auth.password
| Pole | Typ | Wartość domyślna | Opis |
|---|---|---|---|
enabled |
boolean |
true |
Włączanie uwierzytelniania wiadomości e-mail i hasła na potrzeby programowania lokalnego |
services.auth.fabric
| Pole | Typ | Wartość domyślna | Opis |
|---|---|---|---|
enabled |
boolean |
false |
Włącz uwierzytelnianie Fabric obsługiwane przez brokera (Microsoft Entra ID SSO). |
services.staticHosting
| Pole | Typ | Wartość domyślna | Opis |
|---|---|---|---|
enabled |
boolean |
false |
Włącz hosting zawartości statycznej. |
root |
string |
— | Katalog główny projektu frontendowego (względem katalogu głównego projektu). |
folder |
string |
"dist" |
Katalog zawierający skompilowane zasoby statyczne (względem root). |
buildCommand |
string |
— | Polecenie powłoki do uruchomienia przed pakowaniem (na przykład npm run build). |
indexDocument |
string |
— | Dokument domyślnie udostępniany dla ścieżki głównej (na przykład index.html). |
Wskazówka
Wszystkie wartości tekstowe obsługują interpolację zmiennych środowiskowych w składni ${VAR} i ${VAR:-default}. Zmienne są pobierane z rayfin/.env i środowiska powłoki.
rayfin/.env
Plik rayfin/.env jest opcjonalnym plikiem zmiennych środowiskowych służącym do przekazywania wartości do rayfin.yml za pomocą interpolacji. Nie umieszczaj tajnych danych w swoim repozytorium. Zamiast tego utwórz rayfin/.env.example plik do celów dokumentacji i dodaj .env go do pliku .gitignore .
rayfin/tsconfig.json
Plik rayfin/tsconfig.json jest plikiem konfiguracyjnym TypeScript z odwołaniem do projektu, używanym przez narzędzie wiersza polecenia Fabric Apps do kompilacji definicji encji. Rozszerza główny element tsconfig.json i przesłania ustawienia wymagane przez aplikacje Fabric, takie jak composite: true i mechanizm rozpoznawania modułów Node.js. Nie należy bezpośrednio edytować tego pliku.
Pliki modelu danych
rayfin/data/*.ts
Pliki w folderze rayfin/data/ definiują encje. Encje to klasy TypeScript oznaczone dekoratorem @entity() oraz dekoratorami pól, takimi jak @uuid() i @text(). Każdy plik jednostki eksportuje klasę reprezentującą model danych w aplikacji.
rayfin/data/schema.ts
Plik rayfin/data/schema.ts przyporządkowuje nazwy encji do ich klas. Klient SDK Rayfin używa tej mapy do zapewnienia dostępu do encji z zachowaniem bezpieczeństwa typów przez client.data.<Entity>. Po dodaniu nowej jednostki należy ją zarejestrować w tym pliku schematu.
Wygenerowane artefakty
rayfin/.temp/
Folder rayfin/.temp/ zawiera wygenerowane artefakty zaplecza, które są tworzone podczas uruchamiania serwera programistycznego. Jeśli zaplecze wydaje się używać nieaktualnego schematu lub konfiguracji, zatrzymaj i uruchom ponownie stos deweloperski, aby ponownie wygenerować te pliki.
Ważna
Nie zatwierdzaj .temp/ folderu w repozytorium. Dodaj go do .gitignore pliku.
Struktura frontonu
Folder src/ zawiera kod aplikacji frontonu. Dokładna struktura zależy od szablonu wybranego podczas tworzenia projektu, takiego jak React lub Vue.
szablony Fabric Apps używają następujących zmiennych środowiskowych Vite na potrzeby konfiguracji frontonu:
-
VITE_RAYFIN_API_URL— bazowy adres URL kierujący frontend do backendu Fabric Apps. Ustaw tę zmienną środowiskową przed uruchomieniemnpm run dev, aby zastąpić wartość domyślną. -
VITE_RAYFIN_PUBLISHABLE_KEY— Klucz możliwy do opublikowania używany do uwierzytelniania klienta. -
VITE_FABRIC_ITEM_ID— identyfikator elementu Fabric ustawiony przezrayfin up. Zapisywane do.env.fabric-<workspacename>(i.env.fabric) podczas wdrażania. Służy do uwierzytelniania pośredniczonego przez brokera w usłudze Fabric. -
VITE_FABRIC_WORKSPACE_ID— identyfikator obszaru roboczego Fabric ustawiony przezrayfin up. Napisany obokVITE_FABRIC_ITEM_IDpodczas wdrażania.