Questa repo template contiene una versione modificata del pacchetto laravel/laravel
. Tale versione differisce nei seguenti punti:
PostCSS
è stato rimosso- È stato installato
SASS
- È stato installato
Bootstrap
- La cartella
resources/css
è stata rimossa - È stata aggiunta la cartella
resources/scss
contenente il fileapp.scss
- Il file
vite.config.js
è stato modificato al fine di includere i fileresources/scss/app.scss
eresources/js/app.js
nella compilazione. Sono stati inoltre aggiunti gli alias per le cartelle/resources/
enode_modules/bootstrap
- Nella view
welcome
:- Sono stati inclusi gli asset tramite direttiva
@vite
- È stato rimosso lo stile preesistente
- È stato modificato il contenuto
- Sono stati inclusi gli asset tramite direttiva
- Modificare il file
package.json
- Aggiornare la versione del pacchetto
"vite"
alla versione"^3.0.0"
- Aggiornare la versione del pacchetto
"laravel-vite-plugin"
alla versione"^0.6.0"
- Aggiornare la versione del pacchetto
- Eseguire il comando
npm remove postcss
per rimuovere PostCSS - Eseguire il comando
npm i
per installare tutti i pacchetti di NPM (comprese le versioni aggiornate divite
elaravel-vite-plugin
) - Eseguire il comando
npm i --save-dev sass
per installare SASS - Rinominare la cartella
css
che si trova nella cartellaresources/
inscss
- Rinominare il file
app.css
che si trova nella nuova cartellaresources/scss
inapp.scss
- Modificare il file vite.config.js:
- Cambiare la sezione
laravel(...)
in:
per includere i filelaravel({ input: [ 'resources/scss/app.scss', 'resources/js/app.js' ], refresh: true })
resources/scss/app.scss
eresources/js/app.js
nella compilazione (npm run dev
/build
)- Aggiungere la sezione:
dopo la sezioneresolve: { alias: { '~resources': '/resources/', } },
plugins: [...]
per creare un alias della cartella/resources/
(evitandoci di doverla richiamare in questo modo tutte le volte) - Cambiare la sezione
- Aggiungere la riga import
'~resources/scss/app.scss';
nel fileresources/js/app.js
per importare tramite JS il file SCSS principale - Aggiungere la direttiva
@vite('resources/js/app.js')
nella sezione<head>
del fileresources/views/welcome.blade.php
per includere gli asset nella view - Aggiungere le righe:
nel file
import.meta.glob([ '../img/**' ]);
resources/js/app.js
per istruire Vite e Blade affinché processino correttamente i nostri asset - Aggiungere la riga
package-lock.json
nel file.gitignore
che si trova nellaroot
del progetto per evitare di pubblicarlo nella repo (è un file che viene generato ed aggiornato automaticamente dopo l'esecuzione del comandonpm i
) - Installare
Bootstrap
:- Eseguire il comando
npm i --save bootstrap @popperjs/core
per installare sia la parteCSS
che la parteJS
diBootstrap
- Aggiungere la riga
const path = require('path');
nel filevite.config.js
subito prima della rigaexport default defineConfig({
- Aggiungere la riga
'~bootstrap': path.resolve(__dirname, 'node_modules/bootstrap')
nell'oggettoresolve.alias
nel filevite.config.js
- Aggiungere la riga
@import "~bootstrap/scss/bootstrap";
in alto nel fileresources/scss/app.scss
per importare la parteCSS
di Bootstrap - Aggiungere la riga
import * as bootstrap from 'bootstrap';
nel fileresources/js/app.js
per importare la parteJS
di Bootstrap
- Eseguire il comando
- Aprire questa repository su github e cliccare sul pulsante
Use this template > Create a new repository
- Clonare la repository appena creata su
VS Code
- Aprire il
terminale
- Copiare il file
.env.example
e rinominarlo in.env
- Eseguire il comando
composer install
- Eseguire il comando
php artisan key:generate
- Eseguire il comando
npm i
onpm install
- Aprire un secondo
terminale
- In uno dei due terminali, eseguire il comando
php artisan serve
. Nell'altro,npm run dev
- Aprire la repo su github
- Cliccare su
Settings
- Spuntare la casella
Template repository
In alternativa, è stato sviluppato il pacchetto laravel-9-preset da @fabiopacificom che ci evita di effettuare tutti i passaggi.