Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Projekten i Fabric Apps använder en enhetlig mappstruktur så att du snabbt kan hitta datamodeller, serverdelskonfiguration och klientkod. I den här artikeln beskrivs de filer och mappar som du troligtvis kommer att arbeta med när du har skapat ett projekt.
Mapplayout
När du skapar ett nytt Fabric Apps-projekt genererar mallen följande struktur:
your-project/
├── rayfin/
│ ├── data/
│ │ ├── schema.ts
│ │ └── *.ts
│ ├── .env
│ ├── rayfin.yml
│ └── tsconfig.json
├── src/
├── package.json
├── tsconfig.json
└── README.md
Nyckelkonfigurationsfiler
rayfin/rayfin.yml
Filen rayfin/rayfin.yml är huvudkonfigurationsfilen för serverdelen för Fabric Apps. Den styr vilka tjänster som körs under lokal utveckling och stöder miljövariabelinterpolation för dynamiska konfigurationsvärden.
Fullständigt exempel:
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
Konfigurationen innehåller följande nyckelfält:
Fält på toppnivå
| Fält | Type | Obligatoriskt | Description |
|---|---|---|---|
id |
string |
Yes | Projektslugg som används som projektnamn i Docker Compose och som Fabric-objektidentifierare. |
name |
string |
Yes | Projektets visningsnamn som är läsbart för människor. |
version |
string |
Yes | Projektversion (semver). |
services |
object |
Yes | Block för tjänstkonfiguration. |
services.data
| Fält | Type | Standardinställning | Description |
|---|---|---|---|
enabled |
boolean |
false |
Aktivera datatjänsten. |
services.auth
| Fält | Type | Standardinställning | Description |
|---|---|---|---|
enabled |
boolean |
false |
Aktivera autentiseringstjänsten. |
expiryInMinutes |
number |
— | JWT-token upphör att gälla på några minuter. |
customClaims |
Record<string, string> |
— | Anpassade anspråk har lagts till i utfärdade JWTs. |
scopes |
string[] |
— | OAuth-omfång (till exempel ["read:data", "write:data"]). |
refreshToken.lifetimeInDays |
number |
— | Uppdatera tokens livslängd i dagar. |
allowedRedirectUris |
string[] |
["http://localhost:5173"] |
Tillåtna omdirigerings-URI:er för autentiseringsåteranrop. |
services.auth.password
| Fält | Type | Standardinställning | Description |
|---|---|---|---|
enabled |
boolean |
true |
Aktivera e-post- och lösenordsautentisering för lokal utveckling |
services.auth.fabric
| Fält | Type | Standardinställning | Description |
|---|---|---|---|
enabled |
boolean |
false |
Aktivera Fabric-förmedlad autentisering (Microsoft Entra ID-enkel inloggning). |
services.staticHosting
| Fält | Type | Standardinställning | Description |
|---|---|---|---|
enabled |
boolean |
false |
Aktivera värd för statiskt innehåll. |
root |
string |
— | Rotkatalog för frontendprojektet (relativt till projektroten). |
folder |
string |
"dist" |
Katalog som innehåller inbyggda statiska tillgångar (i förhållande till root). |
buildCommand |
string |
— | Shell-kommando som ska köras före paketering (till exempel npm run build). |
indexDocument |
string |
— | Standarddokument som levereras för rotsökvägen (till exempel index.html). |
Tips/Råd
Alla strängvärden stöder miljövariabelinterpolation med ${VAR} och ${VAR:-default} syntax. Variabler löses från rayfin/.env och shell-miljön.
rayfin/.env
Filen rayfin/.env är en valfri miljöfil som används för att ange värden till rayfin.yml via interpolering. Checka inte in hemliga uppgifter i ditt repo. Skapa i stället en rayfin/.env.example fil i dokumentationssyfte och lägg till .env i .gitignore filen.
rayfin/tsconfig.json
Filen rayfin/tsconfig.json är en TypeScript-konfiguration för projektreferens som används av Fabric Apps CLI för att kompilera entitetsdefinitioner. Den utökar din tsconfig.json på rotnivå och åsidoskriver de inställningar som Fabric Apps behöver, till exempel composite: true och Node.js-modulupplösning. Du bör inte behöva redigera den här filen direkt.
Datamodellfiler
rayfin/data/*.ts
Filer i rayfin/data/ mappen definierar dina entiteter. Entiteter är TypeScript-klasser som är dekorerade med @entity() plusfältdekoratörer som @uuid() och @text(). Varje entitetsfil exporterar en klass som representerar en datamodell i ditt program.
rayfin/data/schema.ts
Filen rayfin/data/schema.ts mappar entitetsnamn till deras klasser. Rayfin SDK-klienten använder den här kartan för att ge typsäker åtkomst till entiteter via client.data.<Entity>. När du lägger till en ny entitet måste du registrera den i den här schemafilen.
Genererade artefakter
rayfin/.temp/
Mappen rayfin/.temp/ innehåller genererade backend-artefakter som skapas när du kör utvecklingsservern. Om serverdelen verkar använda inaktuellt schema eller konfiguration stoppar du och startar om utvecklingsstacken för att återskapa filerna.
Important
Checka inte in mappen på .temp/ lagringsplatsen. Lägg till den i .gitignore filen.
Klientdelsstruktur
Mappen src/ innehåller klientdelsprogrammets kod. Den exakta strukturen beror på vilken mall du valde när du skapade projektet, till exempel React eller Vue.
Fabric Apps-mallar använder följande Vite-miljövariabler för klientdelskonfiguration:
-
VITE_RAYFIN_API_URL– Bas-URL som pekar klientdelen på Fabric Apps-serverdelen. Ange den här miljövariabeln innan du körnpm run devför att åsidosätta standardinställningen. -
VITE_RAYFIN_PUBLISHABLE_KEY– Publiceringsbar nyckel som används för klientautentisering. -
VITE_FABRIC_ITEM_ID– Fabric objekt-ID som anges avrayfin up. Skrivs till.env.fabric-<workspacename>(och.env.fabric) under distributionen. Används för Fabric-mäklarförmedlad autentisering. -
VITE_FABRIC_WORKSPACE_ID– Fabric arbetsyte-ID som anges avrayfin up. Skrivs samtidigt somVITE_FABRIC_ITEM_IDunder driftsättning.