Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Fabric i progetti di app usano un layout coerente delle cartelle per trovare rapidamente modelli di dati, configurazione back-end e codice front-end. Questo articolo illustra i file e le cartelle con cui è più probabile lavorare dopo aver creato un progetto.
Layout della cartella
Quando si crea un nuovo progetto app di Fabric, il modello genera la struttura seguente:
your-project/
├── rayfin/
│ ├── data/
│ │ ├── schema.ts
│ │ └── *.ts
│ ├── .env
│ ├── rayfin.yml
│ └── tsconfig.json
├── src/
├── package.json
├── tsconfig.json
└── README.md
File di configurazione chiave
rayfin/rayfin.yml
Il file rayfin/rayfin.yml è il file di configurazione principale per il back-end Fabric Apps. Controlla i servizi eseguiti durante lo sviluppo locale e supporta l'interpolazione di variabili di ambiente per i valori di configurazione dinamica.
Esempio completo:
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
La configurazione include questi campi chiave:
Campi di primo livello
| Campo | Tipo | Obbligatorio | Description |
|---|---|---|---|
id |
string |
Sì | Slug del progetto usato come nome del progetto Docker Compose e identificatore dell'elemento Fabric. |
name |
string |
Sì | Nome visualizzato del progetto comprensibile. |
version |
string |
Sì | Versione del progetto (semver). |
services |
object |
Sì | Blocco di configurazione del servizio. |
services.data
| Campo | Tipo | Impostazione predefinita | Description |
|---|---|---|---|
enabled |
boolean |
false |
Abilitare il servizio dati. |
services.auth
| Campo | Tipo | Impostazione predefinita | Description |
|---|---|---|---|
enabled |
boolean |
false |
Abilitare il servizio di autenticazione. |
expiryInMinutes |
number |
— | Il token JWT scade in pochi minuti. |
customClaims |
Record<string, string> |
— | Attestazioni personalizzate aggiunte ai token JWT emessi. |
scopes |
string[] |
— | Scope OAuth (ad esempio, ["read:data", "write:data"]). |
refreshToken.lifetimeInDays |
number |
— | Durata del token di aggiornamento in giorni. |
allowedRedirectUris |
string[] |
["http://localhost:5173"] |
URI di reindirizzamento consentiti per i callback di autenticazione. |
services.auth.password
| Campo | Tipo | Impostazione predefinita | Description |
|---|---|---|---|
enabled |
boolean |
true |
Abilitare l'autenticazione tramite posta elettronica e password per lo sviluppo locale |
services.auth.fabric
| Campo | Tipo | Impostazione predefinita | Description |
|---|---|---|---|
enabled |
boolean |
false |
Abilitare l'autenticazione mediata di Fabric (Microsoft Entra ID SSO). |
services.staticHosting
| Campo | Tipo | Impostazione predefinita | Description |
|---|---|---|---|
enabled |
boolean |
false |
Abilitare l'hosting di contenuto statico. |
root |
string |
— | Cartella radice del progetto frontend (relativa alla radice del progetto). |
folder |
string |
"dist" |
Directory che contiene le risorse statiche generate (relative a root). |
buildCommand |
string |
— | Comando Shell da eseguire prima della creazione del pacchetto , ad esempio npm run build. |
indexDocument |
string |
— | Documento predefinito servito per il percorso radice (ad esempio, index.html). |
Suggerimento
Tutti i valori di tipo stringa supportano l'interpolazione delle variabili di ambiente con la sintassi ${VAR} e ${VAR:-default}. Le variabili vengono ricavate da rayfin/.env e dall'ambiente della shell.
rayfin/.env
Il rayfin/.env file è un file di ambiente facoltativo usato per fornire valori a rayfin.yml tramite interpolazione. Non fare commit di informazioni sensibili nel tuo repository. Creare invece un rayfin/.env.example file a scopo di documentazione e aggiungerlo .env al .gitignore file.
rayfin/tsconfig.json
Il file rayfin/tsconfig.json è una configurazione TypeScript di riferimento al progetto usata dall'interfaccia della riga di comando di Fabric Apps per compilare le definizioni di entità. Estende l'elemento radice tsconfig.json e sovrascrive le impostazioni necessarie per Fabric Apps, ad esempio composite: true e la risoluzione dei moduli Node.js. Non è necessario modificare direttamente questo file.
File del modello di dati
rayfin/data/*.ts
I file nella rayfin/data/ cartella definiscono le entità. Le entità sono classi TypeScript decorate con @entity(), oltre a decoratori di campo come @uuid() e @text(). Ogni file di entità esporta una classe che rappresenta un modello di dati nell'applicazione.
rayfin/data/schema.ts
Il file rayfin/data/schema.ts associa i nomi delle entità alle rispettive classi. Il client dell'SDK Rayfin usa questa mappa per fornire un accesso alle entità con controllo dei tipi tramite client.data.<Entity>. Quando si aggiunge una nuova entità, è necessario registrarla in questo file di schema.
Artefatti generati
rayfin/.temp/
La rayfin/.temp/ cartella contiene elementi back-end generati creati quando si esegue il server di sviluppo. Se il back-end sembra usare uno schema o una configurazione non aggiornati, arrestare e riavviare lo stack di sviluppo per rigenerare questi file.
Importante
Non eseguire il commit della .temp/ cartella nel repository. Aggiungerlo al .gitignore file.
Struttura front-end
La src/ cartella contiene il codice dell'applicazione front-end. La struttura esatta dipende dal modello scelto durante la creazione del progetto, ad esempio React o Vue.
Fabric modelli di app usano le variabili di ambiente Vite seguenti per la configurazione front-end:
-
VITE_RAYFIN_API_URL– URL di base che punta il frontend al backend di Fabric Apps. Impostare questa variabile d'ambiente prima di eseguirenpm run devper sovrascrivere l'impostazione predefinita. -
VITE_RAYFIN_PUBLISHABLE_KEY: chiave pubblicabile usata per l'autenticazione client. -
VITE_FABRIC_ITEM_ID– ID dell'elemento Fabric impostato darayfin up. Scritto in.env.fabric-<workspacename>(e.env.fabric) durante la distribuzione. Usato per l'autenticazione mediata di Fabric. -
VITE_FABRIC_WORKSPACE_ID: ID dell'area di lavoro Fabric impostato darayfin up. Viene scritto insieme aVITE_FABRIC_ITEM_IDdurante la distribuzione.