Compatibilità con altri framework¶
Se utilizzi già un framework CSS all’interno del tuo progetto, ma hai intenzione di incorporare anche uno o più moduli del toolkit, puoi creare una build personalizzata volta a risolvere eventuali incompatibilità che potrebbero incorrere includendo il CSS/JS as-is.
Scegliendo selettivamente i singoli moduli prima della fase di compilazione puoi escludere dall’output il codice di quelli che non vuoi utilizzare.
In questo modo si evitano eventuali conflitti con i plugin Javascript e i nomi delle classi CSS e al contempo si riduce la dimensione dei file che il browser deve scaricare per visualizzare le pagine.
Configurazione dinamica dei moduli da includere o escludere¶
Per escludere dai CSS/JS generati alcuni moduli e/o includerne selettivamente altri
edita il file config.js
contenuto nella directory radice del toolkit prima di effettuare una nuova build.
Il file contiene due liste di espressioni regolari:
- l’array
CONFIG.excludesè la blacklist con i percorsi su filesystem dei moduli da escludere - l’array
CONFIG.includesè la whitelist con i percorsi su filesystem dei moduli da includere
Esempi di utilizzo di blacklist / whitelist¶
Per includere solo il modulo che realizza la visualizzazione ad albero (treeview) più uno stile di base per la lista dei link (linklist) utilizza la seguente whitelist:
CONFIG.includes = [
'(.*)theme(.*)',
'(.*)utils(.*)',
'(.*)linklist(.*)',
'(.*)treeview(.*)',
]
Per escludere i moduli che non verrebbero utilizzati (es. carousel, spid), puoi utilizzare una blacklist:
CONFIG.excludes = [
'(.*)carousel(.*)',
'(.*)spid(.*)',
]
Per escludere normalize.css (perché eventualmente già incluso dal tuo framework):
CONFIG.excludes = [
'(.*)normalize(.*)',
]
Dopo aver modificato il file config.js:
- eseguendo
npm run build:csssi ottiene in output il filebuild/build.css - eseguendo
npm run build:jssi ottiene in output il filebuild/IWT.min.js
L’output conterrà esclusivamente il CSS e il Javascript dei moduli che hai configurato.