CLI
In questa pagina
La CLI sitelo racchiude il Vite incluso e inietta automaticamente il plugin delle pagine HTML.
Comandi
sitelo # come sitelo dev
sitelo dev # server di sviluppo
sitelo build # build di produzione
sitelo preview # anteprima della build di produzione
sitelo lighthouse # analizza la build di produzionedev— vero render SSR su richiesta, rotte dinamiche comprese, più una piccola toolbar di sviluppobuild— HTML statico indist/(o nella tuaoutDir)preview— servi la build di produzione in localelighthouse— analizza la build di produzione (richiede la peer dependencylighthouse)
Disattiva la toolbar con devToolbar: false in sitelo.config.js — vedi Configurazione.
Flag utili
sitelo --port 8888
sitelo build --outDir public --emptyOutDir
sitelo --root docs--port/--host/--open— server--outDir/--emptyOutDir/--base— build--root— radice del progetto (comoda per un sito indocs/)--config— file di configurazione Vite personalizzato--mode/--logLevel/--debug
Per tutto ciò che riutilizzi fra un comando e l’altro, preferisci le opzioni di Vite in sitelo.config.js sotto vite.
Trovare codice inutilizzato
knip trova file, export e dipendenze che nessuno usa. Su un progetto sitelo gli serve un suggerimento: pagine e island vengono scoperte dal filesystem, quindi nessuno le importa, e se non gli si dice altro knip segnala l’intero sito come file inutilizzati.
npm install -D knipimport { knipConfig } from 'sitelo/knip'
export default knipConfig()npx knipknipConfig() legge il tuo sitelo.config.js e segna pagine e island come punti di ingresso nello stesso modo in cui la build le scopre — valgono pagesDir, pageExtensions, include ed exclude. Quel che resta nel report è codice che il sito davvero non raggiunge mai.
C’è una cosa che non può vedere: uno script client che una pagina referenzia per URL invece che con un import, come <script src="/js/app.js">. Elencali tu, e passa accanto qualunque altra cosa knip accetti — viene inclusa nel risultato. Il ! finale è il marcatore di knip per il codice di produzione, ed è esattamente ciò che è uno script spedito al browser.
export default knipConfig({
entry: ['src/js/app.js!'], // ciò che le pagine caricano con uno <script src>
ignore: ['legacy/**'], // e qualunque altra cosa knip accetti
})