Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Fabric Apps-prosjekter bruker et konsistent mappeoppsett slik at du raskt kan finne datamodeller, backend-konfigurasjon og frontend-kode. Denne artikkelen forklarer hvilke filer og mapper du mest sannsynlig vil jobbe med etter at du har opprettet et prosjekt.
Mappeoppsett
Når du oppretter et nytt Fabric Apps-prosjekt, genererer malen følgende struktur:
your-project/
├── rayfin/
│ ├── data/
│ │ ├── schema.ts
│ │ └── *.ts
│ ├── .env
│ ├── rayfin.yml
│ └── tsconfig.json
├── src/
├── package.json
├── tsconfig.json
└── README.md
Nøkkelkonfigurasjonsfiler
Rayfin/rayfin.yml
rayfin/rayfin.yml-filen er hovedkonfigurasjonsfilen for Fabric Apps backend. Den styrer hvilke tjenester som kjører under lokal utvikling og støtter interpolasjon av miljøvariabler for dynamiske konfigurasjonsverdier.
Fullt eksempel:
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
Konfigurasjonen inkluderer disse nøkkelfeltene:
Toppnivå-felt
| Felt | Type: | Påkrevd | Beskrivelse |
|---|---|---|---|
id |
string |
Ja | Project slug brukes som Docker Compose project-navn og Fabric-artikkelidentifikator. |
name |
string |
Ja | Menneskelesbar prosjektvisningsnavn. |
version |
string |
Ja | Project-versjon (semver). |
services |
object |
Ja | Tjenestekonfigurasjonsblokk. |
services.data
| Felt | Type: | Forhåndsinnstilt | Beskrivelse |
|---|---|---|---|
enabled |
boolean |
false |
Aktiver datatjenesten. |
services.auth
| Felt | Type: | Forhåndsinnstilt | Beskrivelse |
|---|---|---|---|
enabled |
boolean |
false |
Aktiver autentiseringstjenesten. |
expiryInMinutes |
number |
— | JWT-token utløper om minutter. |
customClaims |
Record<string, string> |
— | Tollkrav lagt til utstedte JWT-er. |
scopes |
string[] |
— | OAuth-scopes (for eksempel ["read:data", "write:data"]). |
refreshToken.lifetimeInDays |
number |
— | Oppfrisk tokenets levetid i dager. |
allowedRedirectUris |
string[] |
["http://localhost:5173"] |
Tillatt omdirigering av URI-er for autentiseringstilbakekallinger. |
services.auth.password
| Felt | Type: | Forhåndsinnstilt | Beskrivelse |
|---|---|---|---|
enabled |
boolean |
true |
Aktiver e-post- og passordautentisering for lokal utvikling |
services.auth.fabric
| Felt | Type: | Forhåndsinnstilt | Beskrivelse |
|---|---|---|---|
enabled |
boolean |
false |
Aktiver Fabric-meglet autentisering (Microsoft Entra ID SSO). |
services.staticHosting
| Felt | Type: | Forhåndsinnstilt | Beskrivelse |
|---|---|---|---|
enabled |
boolean |
false |
Aktiver hosting av statisk innhold. |
root |
string |
— | Rotkatalogen til frontend-prosjektet (relativt til prosjektroten). |
folder |
string |
"dist" |
Katalog som inneholder bygde statiske ressurser (relativt til root). |
buildCommand |
string |
— | Shell-kommandoen skal kjøres før pakking (for eksempel, npm run build). |
indexDocument |
string |
— | Standarddokument levert for rotstien (for eksempel index.html). |
Tips
Alle strengverdier støtter interpolasjon av miljøvariabler med ${VAR} og syntaks ${VAR:-default} . Variabler løses opp fra rayfin/.env og skallmiljøet.
rayfin/.env
Filen rayfin/.env er en valgfri miljøfil som brukes til å levere verdier til rayfin.yml gjennom interpolasjon. Ikke legg inn hemmeligheter i arkivet ditt. Lag heller en rayfin/.env.example fil for dokumentasjonsformål og legg til .env i filen din .gitignore .
Rayfin/tsconfig.json
Filen rayfin/tsconfig.json er en prosjektreferanse-TypeScript-konfigurasjon som brukes av Fabric Apps CLI for å kompilere entitetsdefinisjonene dine. Den utvider roten tsconfig.json og overstyrer innstillingene som Fabric Apps trenger, som composite: true og Node.js moduloppløsning. Du skal ikke trenge å redigere denne filen direkte.
Datamodellfiler
Rayfin/Data/*.ts
Filene i rayfin/data/ mappen definerer enhetene dine. Entiteter er TypeScript-klasser dekorert med @entity() pluss-feltdekoratører som @uuid() og @text(). Hver entitetsfil eksporterer en klasse som representerer en datamodell i applikasjonen din.
Rayfin/Data/schema.ts
Filen rayfin/data/schema.ts kartlegger entitetsnavn til deres klasser. Rayfin SDK-klienten bruker dette kartet for å gi typesikker tilgang til enheter gjennom client.data.<Entity>. Når du legger til en ny entitet, må du registrere den i denne skjemafilen.
Genererte artefakter
rayfin/.temp/
Mappen rayfin/.temp/ inneholder genererte backend-artefakter som opprettes når du kjører utviklingsserveren. Hvis backend ser ut til å bruke utdatert skjema eller konfigurasjon, stopp og start utviklingsstakken på nytt for å generere filene.
Important
Ikke committer .temp/ mappen til ditt repository. Legg det til i filen din .gitignore .
Frontend-struktur
Mappen src/ inneholder koden til frontend-applikasjonen din. Den eksakte strukturen avhenger av hvilken mal du valgte da du opprettet prosjektet ditt, som React eller Vue.
Fabric Apps-maler bruker følgende Vite-miljøvariabler for frontend-konfigurasjon:
-
VITE_RAYFIN_API_URL– Grunn-URL som peker frontend mot Fabric Apps backend. Sett denne miljøvariabelen før kjøringnpm run devfor å overstyre standardinnstillingen. -
VITE_RAYFIN_PUBLISHABLE_KEY– Publiserbar nøkkel brukt for klientautentisering. -
VITE_FABRIC_ITEM_ID– Fabric vare-ID satt avrayfin up. Skrevet til.env.fabric-<workspacename>(og.env.fabric) under utplassering. Brukes for Fabric-meglet autentisering. -
VITE_FABRIC_WORKSPACE_ID– Fabric arbeidsområde-ID satt avrayfin up. Skrevet ved siden avVITE_FABRIC_ITEM_IDunder deployering.