Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Fabric Apps-Projekte verwenden ein einheitliches Ordnerlayout, sodass Sie Datenmodelle, Back-End-Konfiguration und Frontend-Code schnell finden können. In diesem Artikel werden die Dateien und Ordner erläutert, mit den Sie wahrscheinlich arbeiten, nachdem Sie ein Projekt erstellt haben.
Ordnerstruktur
Wenn Sie ein neues Fabric Apps-Projekt erstellen, generiert die Vorlage die folgende Struktur:
your-project/
├── rayfin/
│ ├── data/
│ │ ├── schema.ts
│ │ └── *.ts
│ ├── .env
│ ├── rayfin.yml
│ └── tsconfig.json
├── src/
├── package.json
├── tsconfig.json
└── README.md
Wichtige Konfigurationsdateien
rayfin/rayfin.yml
Die datei rayfin/rayfin.yml ist die Hauptkonfigurationsdatei für Ihr Fabric Apps-Back-End. Er steuert, welche Dienste während der lokalen Entwicklung ausgeführt werden und die Interpolation von Umgebungsvariablen für dynamische Konfigurationswerte unterstützt.
Vollständiges Beispiel:
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
Die Konfiguration umfasst die folgenden Schlüsselfelder:
Felder auf oberster Ebene
| Feld | Typ | Erforderlich | Description |
|---|---|---|---|
id |
string |
Ja | Projekt-Slug, der als Docker-Compose-Projektname und Fabric-Elementkennung verwendet wird. |
name |
string |
Ja | Für Menschen lesbarer Projektanzeigename. |
version |
string |
Ja | Projektversion (semver). |
services |
object |
Ja | Konfigurationsblock des Dienstes. |
services.data
| Feld | Typ | Vorgabe | Description |
|---|---|---|---|
enabled |
boolean |
false |
Aktivieren Sie den Datendienst. |
services.auth
| Feld | Typ | Vorgabe | Description |
|---|---|---|---|
enabled |
boolean |
false |
Aktivieren Sie den Authentifizierungsdienst. |
expiryInMinutes |
number |
— | JWT-Token läuft in Minuten ab. |
customClaims |
Record<string, string> |
— | Benutzerdefinierte Ansprüche, die zu ausgestellten JWTs hinzugefügt wurden. |
scopes |
string[] |
— | OAuth-Bereiche (z. B ["read:data", "write:data"]. ). |
refreshToken.lifetimeInDays |
number |
— | Aktualisierung der Tokenlebensdauer in Tagen. |
allowedRedirectUris |
string[] |
["http://localhost:5173"] |
Zulässige Umleitungs-URIs für Authentifizierungsrückrufe. |
services.auth.password
| Feld | Typ | Vorgabe | Description |
|---|---|---|---|
enabled |
boolean |
true |
Aktivieren der E-Mail- und Kennwortauthentifizierung für die lokale Entwicklung |
services.auth.fabric
| Feld | Typ | Vorgabe | Description |
|---|---|---|---|
enabled |
boolean |
false |
Aktivieren sie Fabric brokered authentication (Microsoft Entra ID SSO). |
services.staticHosting
| Feld | Typ | Vorgabe | Description |
|---|---|---|---|
enabled |
boolean |
false |
Aktivieren Sie statisches Inhaltshosting. |
root |
string |
— | Stammverzeichnis des Frontend-Projekts (relativ zum Projektstamm). |
folder |
string |
"dist" |
Verzeichnis mit erstellten statischen Assets (relativ zu root). |
buildCommand |
string |
— | Shell-Befehl, der vor dem Verpacken ausgeführt werden soll (z. B npm run build. ). |
indexDocument |
string |
— | Standarddokument, das für den Stammpfad bereitgestellt wird (z. B index.html. ). |
Tipp
Alle Zeichenfolgenwerte unterstützen die Interpolation von Umgebungsvariablen mit ${VAR} und ${VAR:-default} syntax. Variablen werden aus rayfin/.env und der Shell-Umgebung ermittelt.
rayfin/.env
Die rayfin/.env Datei ist eine optionale Umgebungsdatei, die verwendet wird, um Werte rayfin.yml über die Interpolation bereitzustellen. Übernehmen Sie keine geheimen Daten für Ihr Repository. Erstellen Sie stattdessen eine rayfin/.env.example-Datei für Dokumentationszwecke und fügen Sie .env zu Ihrer .gitignore-Datei hinzu.
rayfin/tsconfig.json
Die Datei rayfin/tsconfig.json ist eine TypeScript-Konfiguration mit Projektreferenz, die von der Fabric Apps CLI zum Kompilieren Ihrer Entitätsdefinitionen verwendet wird. Sie erweitert ihre Stamm-tsconfig.json und überschreibt die Einstellungen, die Fabric Apps benötigen, z. B. composite: true und Node.js Modulauflösung. Sie sollten diese Datei nicht direkt bearbeiten müssen.
Datenmodelldateien
rayfin/data/*.ts
Dateien im rayfin/data/ Ordner definieren Ihre Entitäten. Entitäten sind TypeScript-Klassen, die mit @entity() sowie Feldd dekoratoren wie @uuid() und @text() versehen sind. Jede Entitätsdatei exportiert eine Klasse, die ein Datenmodell in Ihrer Anwendung darstellt.
rayfin/data/schema.ts
Die rayfin/data/schema.ts Datei ordnet entitätsnamen ihren Klassen zu. Der Rayfin SDK-Client verwendet diese Zuordnung, um typsicheren Zugriff auf Entitäten über client.data.<Entity> bereitzustellen. Wenn Sie eine neue Entität hinzufügen, müssen Sie sie in dieser Schemadatei registrieren.
Generierte Artefakte
rayfin/.temp/
Der rayfin/.temp/ Ordner enthält generierte Back-End-Artefakte, die beim Ausführen des Entwicklungsservers erstellt werden. Wenn das Back-End offenbar ein veraltetes Schema oder eine veraltete Konfiguration verwendet, beenden und starten Sie den Dev-Stack neu, um diese Dateien neu zu generieren.
Important
Übernehmen Sie den .temp/ Ordner nicht in Ihr Repository. Fügen Sie sie Zu Ihrer .gitignore Datei hinzu.
Front-End-Struktur
Der src/ Ordner enthält Ihren Front-End-Anwendungscode. Die genaue Struktur hängt davon ab, welche Vorlage Sie beim Erstellen Ihres Projekts ausgewählt haben, z. B. React oder Vue.
Fabric Apps-Vorlagen verwenden die folgenden Vite-Umgebungsvariablen für die Front-End-Konfiguration:
-
VITE_RAYFIN_API_URL– Basis-URL, die das Frontend auf das Fabric-Apps-Backend verweist. Legen Sie diese Umgebungsvariable fest, bevor Sienpm run devausführen, um den Standard zu überschreiben. -
VITE_RAYFIN_PUBLISHABLE_KEY– Veröffentlichungsfähiger Schlüssel, der für die Clientauthentifizierung verwendet wird. -
VITE_FABRIC_ITEM_ID– Fabric Element-ID, die vonrayfin upfestgelegt wurde. Geschrieben in.env.fabric-<workspacename>(und.env.fabric) während der Bereitstellung. Wird für die Fabric-vermittelte Authentifizierung verwendet. -
VITE_FABRIC_WORKSPACE_ID– Fabric Arbeitsbereichs-ID, die vonrayfin upfestgelegt wurde. Wird während der Bereitstellung zusammen mitVITE_FABRIC_ITEM_IDgeschrieben.