Quante volte capita di trovarci di fronte a file JavaScript di centinaia, se non migliaia, di righe di codice contenenti le più disparate funzioni e funzionalità (a volte anche duplicate)? Un'entropia destinata a crescere nel tempo, che rende ben presto il codice difficile da manutenere.
Iniziamo questa breve serie di script parlando degli ES module.
I moduli JavaScript sono file che espongono, utilizzando il termine export, funzioni, variabili, classi o oggetti. Possono essere utilizzati all'interno di più file o importati della pagina HTML, rendendo le loro funzionalità disponibili globalmente.
//module.js const a = 1 function sum(num) { return num + 1; } export { a, sum }
Avendo dichiarato di voler esporre la variabile a e la funzione sum, possiamo utilizzare la keyword import per utilizzarle all'interno di un altro file JavaScript.
// import 'a' e 'sum' utilizzando un alias import { a, sum as s } from 'module' var x = s(a);
Possiamo referenziare il file anche all'interno del documento HTML aggiungendo, come da specifiche, l'attributo type="module" al tag script.
<script type="module" src="module.js"></script>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il tag HTML template
Organizzare i moduli sfruttando CommonJS
Catturare la telemetria degli eventi di output cache in ASP.NET Core
Gestire gli errori di caricamento delle immagini
Ottenere il riferimento alla finestra che ha aperto un'altra finestra con HTML5 e JavaScript
Blazor PWA e Offline-First
Gestire tipi complessi in query string grazie a IParsable in ASP.NET Core 7.0
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Caricare un asset come parte di una release con un workflow di GitHub
Montare blob e file share su Azure App Service
Specificare il numero di parentesi graffe nella string interpolation in combinazione con i string literal in C#