doc:appunti:prog:nodejs
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:appunti:prog:nodejs [2025/03/24 15:53] – [Preparazione per il deploy] niccolo | doc:appunti:prog:nodejs [2025/03/27 11:58] (current) – [Automatizzare il deploy] niccolo | ||
---|---|---|---|
Line 35: | Line 35: | ||
</ | </ | ||
- | ===== Il registry ===== | + | ===== Il registry |
Per sapere quale // | Per sapere quale // | ||
Line 108: | Line 108: | ||
==== Produrre HREF relativi ==== | ==== Produrre HREF relativi ==== | ||
- | FIXME | + | Il build di ol-app viene eseguito con il tool Vite. Il codice **JavaScript** e i **CSS** vengono assemblati in due file contenuti nella sottodirectory **assets/** e inclusi con link assoluti: |
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | <meta charset=" | ||
+ | <meta name=" | ||
+ | < | ||
+ | <script type=" | ||
+ | <link rel=" | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Questo impedisce di fare il deploy in una sottodirectory a scelta. È possibile configurare l' | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
==== Aggiungere directory al deploy ==== | ==== Aggiungere directory al deploy ==== | ||
- | FIXME | + | Se ci sono dei file statici o intere directory da aggiungere al deploy, è possibile creare la cartella **public/ |
+ | |||
+ | Durante il test e lo sviluppo (ambiente attivato da **npm start**), i file contenuti in **public/** devono essere linkati senza il prefisso '' | ||
+ | |||
+ | <code javascript> | ||
+ | const sesto_fiorentino = new VectorLayer({ | ||
+ | source: new VectorSource({url: | ||
+ | format: new KML({extractStyles: | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | ==== Rinominare il file index.html ==== | ||
+ | |||
+ | Potrebbe capitare il caso in cui il progetto in questione deve essere inserito in un sito già esistente, eventualmente in una sottodirectory e con un nome della pagina iniziale diverso da **index.html**. | ||
+ | |||
+ | Nei paragrafi sopra si è già visto come generare link relativi. Per modificare il nome del file index.html si deve anzitutto modificare **vite.config.js** definendo //build// => // | ||
+ | |||
+ | < | ||
+ | export default { | ||
+ | build: { | ||
+ | sourcemap: true, | ||
+ | rollupOptions: | ||
+ | input: { | ||
+ | main: ' | ||
+ | } | ||
+ | } | ||
+ | }, | ||
+ | server: { | ||
+ | open: '/ | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | Anche il file **package.json** va modificando nella sezione //scripts// => //dev// aggiungendo l' | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Dipendenze del progetto ==== | ||
+ | |||
+ | Nel nostro file **package.json** si trova: | ||
+ | |||
+ | < | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Cioè il progetto dipende dalla versione più recente di **create-ol**. Si tratta di un initializer che //Scaffolds an OpenLoader plugin with massive customization// | ||
+ | |||
+ | In generale non avviene un aggiornamento automatico, a meno che non venga eseguito uno dei seguenti comandi: | ||
+ | |||
+ | < | ||
+ | npm update < | ||
+ | npm install < | ||
+ | npm update | ||
+ | </ | ||
+ | |||
+ | Volendo è possibile modificare il file **package.json** e indicare una versione specifica: | ||
+ | |||
+ | < | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Il numero di versione può essere preceduto da caratteri speciali,ad esempio **%%^X.Y.Z%%** oppure **%%~X.Y.Z%%**. Nel primo caso sono consentiti aggiornamenti mantenendo ferma la //major version// X (eccezione se X vale 0: allora sono consentiti aggiornamenti solo di //patch version//). Nel secondo caso sono consentiti solo aggiornamenti di //patch version// Z, mentre //major// e //minor version// devono restare uguali. | ||
+ | |||
+ | ==== Il file package-lock.json ==== | ||
+ | |||
+ | Nella directory del progetto si trova il file **package-lock.json** che viene creato e aggiornato ogni volta che si installa o si aggiorna un pacchetto ('' | ||
+ | |||
+ | Nel file **package-lock.json** si vede la dipendenza dai vari packages, tra cui la libreria OpenLayers: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ... | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ... | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Il tutto è stato scaricato nella directory di lavoro **node_modules/ | ||
+ | |||
+ | ===== Automatizzare il deploy ===== | ||
+ | |||
+ | È possibile definire il comando per effettuare il deploy del progetto aggiungendo a **package.json** uno //scripts// => // | ||
+ | |||
+ | < | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Il deploy quindi si esegue con | ||
+ | |||
+ | < | ||
+ | npm run deploy | ||
+ | </ | ||
===== Web References ===== | ===== Web References ===== |
doc/appunti/prog/nodejs.1742827994.txt.gz · Last modified: 2025/03/24 15:53 by niccolo