Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
projekty Fabric Apps používají konzistentní rozložení složek, abyste mohli rychle najít datové modely, konfiguraci back-endu a front-endový kód. Tento článek vysvětluje soubory a složky, se kterými budete pravděpodobně pracovat po vytvoření projektu.
Rozložení složky
Když vytvoříte nový projekt Fabric Apps, šablona vygeneruje následující strukturu:
your-project/
├── rayfin/
│ ├── data/
│ │ ├── schema.ts
│ │ └── *.ts
│ ├── .env
│ ├── rayfin.yml
│ └── tsconfig.json
├── src/
├── package.json
├── tsconfig.json
└── README.md
Konfigurační soubory klíčů
rayfin/rayfin.yml
Soubor rayfin/rayfin.yml je hlavním konfiguračním souborem back-endu Fabric Apps. Řídí, které služby běží během místního vývoje, a podporuje interpolaci proměnných prostředí pro dynamické hodnoty konfigurace.
Úplný příklad:
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
Konfigurace zahrnuje tato klíčová pole:
Pole nejvyšší úrovně
| Pole | Typ | Povinné | Description |
|---|---|---|---|
id |
string |
Ano | Slug projektu používaný jako název projektu Docker Compose a identifikátor položky Fabric. |
name |
string |
Ano | Zobrazovaný název projektu čitelný pro člověka |
version |
string |
Ano | Verze projektu (semver). |
services |
object |
Ano | Blok konfigurace služby. |
services.data
| Pole | Typ | Výchozí | Description |
|---|---|---|---|
enabled |
boolean |
false |
Povolte datovou službu. |
services.auth
| Pole | Typ | Výchozí | Description |
|---|---|---|---|
enabled |
boolean |
false |
Povolte službu ověřování. |
expiryInMinutes |
number |
— | Platnost tokenu JWT vyprší v minutách. |
customClaims |
Record<string, string> |
— | Vlastní nároky přidané do vydaných tokenů JWT. |
scopes |
string[] |
— | Obory OAuth (například ["read:data", "write:data"]). |
refreshToken.lifetimeInDays |
number |
— | Platnost obnovovacího tokenu ve dnech. |
allowedRedirectUris |
string[] |
["http://localhost:5173"] |
Povolené identifikátory URI pro přesměrování pro ověřovací zpětná volání |
services.auth.password
| Pole | Typ | Výchozí | Description |
|---|---|---|---|
enabled |
boolean |
true |
Povolení ověřování e-mailů a hesel pro místní vývoj |
services.auth.fabric
| Pole | Typ | Výchozí | Description |
|---|---|---|---|
enabled |
boolean |
false |
Povolte zprostředkované ověřování Fabric (Microsoft Entra ID SSO). |
services.staticHosting
| Pole | Typ | Výchozí | Description |
|---|---|---|---|
enabled |
boolean |
false |
Povolte hostování statického obsahu. |
root |
string |
— | Kořenový adresář front-endového projektu (vzhledem k kořenovému adresáři projektu). |
folder |
string |
"dist" |
Adresář obsahující zkompilované statické zdroje (vzhledem k root). |
buildCommand |
string |
— | Příkaz shellu, který se má spustit před balením (například npm run build). |
indexDocument |
string |
— | Výchozí dokument poskytovaný pro kořenovou cestu (například index.html). |
Tip
Všechny řetězcové hodnoty podporují interpolaci proměnných prostředí se syntaxí ${VAR} a ${VAR:-default}. Proměnné se vyhodnocují z rayfin/.env a z prostředí shellu.
rayfin/.env
Soubor rayfin/.env je volitelný soubor prostředí, který slouží k zadávání hodnot rayfin.yml prostřednictvím interpolace. Neukládejte tajné kódy do úložiště. Místo toho vytvořte rayfin/.env.example soubor pro účely dokumentace a přidejte .env ho do souboru .gitignore .
rayfin/tsconfig.json
Soubor rayfin/tsconfig.json je konfigurační soubor TypeScriptu pro odkaz na projekt, který nástroj příkazového řádku Fabric Apps používá ke kompilaci definic entit. Rozšiřuje váš kořenový soubor tsconfig.json a přepisuje nastavení, která aplikace Fabric potřebuje, například composite: true a způsob vyhledávání modulů v Node.js. Tento soubor byste neměli upravovat přímo.
Soubory datového modelu
rayfin/data/*.ts
Soubory ve rayfin/data/ složce definují vaše entity. Entity jsou třídy v TypeScriptu opatřené dekorátorem @entity() a dekorátory polí, jako jsou @uuid() a @text(). Každý soubor entity exportuje třídu, která představuje datový model ve vaší aplikaci.
rayfin/data/schema.ts
Soubor rayfin/data/schema.ts mapuje názvy entit na jejich třídy. Klient Rayfin SDK používá tuto mapu k poskytování typově bezpečného přístupu k entitám prostřednictvím client.data.<Entity>. Když přidáte novou entitu, musíte ji zaregistrovat v tomto souboru schématu.
Generované artefakty
rayfin/.temp/
Složka rayfin/.temp/ obsahuje vygenerované back-endové artefakty, které se vytvoří při spuštění vývojového serveru. Pokud se zdá, že backend používá zastaralé schéma nebo konfiguraci, zastavte a restartujte vývojové prostředí, aby se tyto soubory znovu vygenerovaly.
Important
Nesdílejte .temp/ složku do úložiště. Přidejte ho do .gitignore souboru.
Front-endová struktura
Složka src/ obsahuje kód front-endové aplikace. Přesná struktura závisí na tom, kterou šablonu jste zvolili při vytváření projektu, například React nebo Vue.
Šablony aplikací Fabric používají pro konfiguraci frontendu následující proměnné prostředí Vite:
-
VITE_RAYFIN_API_URL– základní URL, která směruje frontend na backend Fabric Apps. Před spuštěnímnpm run devnastavte tuto proměnnou prostředí, aby se přepsalo výchozí nastavení. -
VITE_RAYFIN_PUBLISHABLE_KEY– Publikovatelný klíč používaný pro ověřování klientů. -
VITE_FABRIC_ITEM_ID– ID položky Fabric nastavené pomocírayfin up. Zapsáno do.env.fabric-<workspacename>(a.env.fabric) během nasazování. Používá se pro ověřování zprostředkované službou Fabric. -
VITE_FABRIC_WORKSPACE_ID– ID pracovního prostoru Fabric nastavené pomocírayfin up. Zapsáno spolu sVITE_FABRIC_ITEM_IDběhem nasazení.