Installiamo Node.js seguendo le istruzioni riportate sulla documentazione a questo link verifichiamo la corretta installazione con
node -v
installiamo Vue CLI a livello globale
npm install -g @vue/cli
verifichiamo la corretta installazione con
vue --version
⚠️ Utenti Windows Chiudere e riaprire il terminale come amministratori e lanciare il seguente comando
Set-ExecutionPolicy remotesigned
Creo la cartella di progetto e la apro con VSCode. Dal terminale di VSCode lancio
vue create .
- ✅ Manually select features
- ✅ Aggiungo CSS Pre-processors
- ✅ Versione 2.x
- ✅ Sass/SCSS (with dart-sass)
- ✅ ESLint with error prevention only
- ✅ Config for Babel, ESLint ect. in dedicated config files Per avviare il server di sviluppo:
npm run serve
Dopo aver clonato la repo ed aperto il progetto con VSCode. Dal terminale di VSCode lancio:
npm install
per installare tutte le dipendenze del progetto.
Per avviare il server di sviluppo:
npm run serve
Installo la libreria tramite npm
npm install --save-dev @fortawesome/fontawesome-free
Nel file main.js aggiungo gli import della libreria prima della creazione dell'istanza di Vue:
import '@fortawesome/fontawesome-free/css/all.css'
import '@fortawesome/fontawesome-free/js/all.js'
Ora posso utilizzare le icone nei miei componenti.
Installo la libreria tramite npm
npm i bootstrap
Nel nostro file global.scss o direttamente nel componente App.vue possiamo scegliere di importare tutta la libreria
@import '~bootstrap/scss/bootstrap.scss';
o solo la griglia
@import '~bootstrap/scss/bootstrap-grid.scss';
Installo la libreria tramite npm
npm i axios
In ogni componente dove ho bisogno di fare chiamare Ajax importo la libreria
import axios from 'axios';
Nel Hook created() eseguo la chiamata.
created() {
axios.get('URL_ENDPOINT_API')
.then((response) => {
// handle success
console.log(response);
})
.catch(function (error) {
// handle error
console.log(error);
});
}
Per avviare il server di sviluppo locale
npm run serve
Per buildare il progetto
npm run build
Aggiungere un file vue.config.js nella root del progetto con la seguente istruzione
module.exports = {
publicPath: './'
};
Potrebbe capitarci di voler utilizzare il valore di una variabile come src di un tag immagine.
❌ Esempio non funzionante:
<template>
<div>
<img :src="localImage">
</div>
</template>
<script>
export default {
name: 'ComponentName',
data() {
return {
localImage: '../assets/image.png'
}
}
}
</script>
In questo caso l'immagine non verrebbe visualizzata in quanto Webpack, il module bundler che compila il nostro sorgente in codice comprensibile dal browser, non trasforma correttamente il percorso dell'immagine in /img/image.png. Per forzare questo comportamento possiamo utilizzare la funzione require() passandogli come argomento il percorso all'immagine.
✅ Esempio funzionante:
<template>
<div>
<img :src="localImage">
</div>
</template>
<script>
export default {
name: 'ComponentName',
data() {
return {
localImage: require('../assets/image.png')
}
}
}
</script>