User Tools

Site Tools


doc:appunti:prog:nodejs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:prog:nodejs [2025/03/27 10:41] – [Il file package-lock.json] niccolodoc:appunti:prog:nodejs [2025/03/27 11:58] (current) – [Automatizzare il deploy] niccolo
Line 147: Line 147:
 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**. 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 ... FIXME+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// => //rollupOptions// => //input// => //main// necessario per eseguire il corretto build e //server// => //open// per eseguire correttamente il server in fase di sviluppo: 
 + 
 +<code> 
 +export default { 
 +  build: { 
 +    sourcemap: true, 
 +    rollupOptions:
 +      input: { 
 +        main: 'my-index.html' // The entry file. 
 +      } 
 +    } 
 +  }, 
 +  server: { 
 +    open: '/my-index.html' // Entry file for the dev server. 
 +  } 
 +
 +</code> 
 + 
 + 
 +Anche il file **package.json** va modificando nella sezione //scripts// => //dev// aggiungendo l'opzione **%%--open%%** al comando ''vite'': 
 + 
 +<code> 
 +
 +  "name": "openlayers-test", 
 +  "version": "1.0.4", 
 +  "scripts":
 +    "dev": "vite --open my-index.html", 
 +    ... 
 +</code>
  
  
Line 169: Line 197:
 npm update npm update
 </code> </code>
 +
 +Volendo è possibile modificare il file **package.json** e indicare una versione specifica:
 +
 +<code>
 +"dependencies": {
 +  "ol": "1.0.1"
 +}
 +</code>
 +
 +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 ==== ==== 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 (''npm install'', ''npm update''). Nel nostro caso l'install è stata diretta conseguenza del ''npm create''. Il file **non deve essere modificato** a mano, eventualmente lo si può eliminare insieme alla directory ''node_modules/'' ed eseguire di nuovo ''npm install''.+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 (''npm install'', ''npm update''). Nel nostro caso l'install è stata diretta conseguenza del ''npm create''. Il file **non deve essere modificato** a mano, eventualmente lo si può eliminare insieme alla directory ''node_modules/'' ed eseguendo di nuovo ''npm install'' viene creato ex-novo, così come il download dei pacchetti.
  
 Nel file **package-lock.json** si vede la dipendenza dai vari packages, tra cui la libreria OpenLayers: Nel file **package-lock.json** si vede la dipendenza dai vari packages, tra cui la libreria OpenLayers:
Line 193: Line 231:
  
 Il tutto è stato scaricato nella directory di lavoro **node_modules/**, per cui è importante mantenere copia di questa directory di lavoro che in pratica contiene il codice sorgente delle varie componenti scaricato al momento del //create//. Il tutto è stato scaricato nella directory di lavoro **node_modules/**, per cui è importante mantenere copia di questa directory di lavoro che in pratica contiene il codice sorgente delle varie componenti scaricato al momento del //create//.
 +
 +===== Automatizzare il deploy =====
 +
 +È possibile definire il comando per effettuare il deploy del progetto aggiungendo a **package.json** uno //scripts// => //deploy//:
 +
 +<code>
 +"scripts": {
 +  "deploy": "rsync -avz ./dist/ ./ user@yourserver:/path/to/project"
 +}
 +</code>
 +
 +Il deploy quindi si esegue con
 +
 +<code>
 +npm run deploy
 +</code>
  
 ===== Web References ===== ===== Web References =====
doc/appunti/prog/nodejs.1743068497.txt.gz · Last modified: 2025/03/27 10:41 by niccolo