lorenzomalferrari / gestiscicasa

Progetto che nasce privato con lo scopo di gestire al meglio la propria casa in tutte le sue necessita
Other
1 stars 0 forks source link

Potenziare struttura js #254

Closed lorenzomalferrari closed 1 month ago

lorenzomalferrari commented 2 months ago

Se vuoi importare tutte le costanti o esportazioni da un file in una sola volta, puoi usare la sintassi import * as per importare tutto in un singolo oggetto. Questo ti permette di accedere a tutte le esportazioni del file sotto un unico nome.

1. Modulo delle costanti (constants.js)

Definiamo le costanti come nel file constants.js:

// Definiamo alcune costanti globali
export const SUPER_CONSTANT = "Valore immutabile";
export const API_URL = "https://api.example.com";
export const TIMEOUT = 5000;

2. Importare tutte le costanti in un unico oggetto

Nel file app.js, puoi usare la sintassi import * as per importare tutto ciò che è stato esportato da constants.js in un unico oggetto.

Esempio: app.js

import * as Constants from './constants.js';

console.log(Constants.SUPER_CONSTANT);  // Output: "Valore immutabile"
console.log(Constants.API_URL);         // Output: "https://api.example.com"
console.log(Constants.TIMEOUT);         // Output: 5000

3. Struttura delle cartelle

Assicurati di avere una struttura delle cartelle corretta:

/project-folder
  /index.html
  /app.js
  /constants.js

4. Modificare il file HTML

Nel file index.html, carica lo script app.js come modulo:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Importare Tutte le Costanti</title>
</head>
<body>
    <h1>Gestione Costanti con Importazione Globale</h1>

    <!-- Importiamo app.js come modulo -->
    <script type="module" src="app.js"></script>
</body>
</html>

Vantaggi di import * as

In questo modo, tutte le costanti esportate dal file constants.js saranno facilmente accessibili come proprietà dell'oggetto Constants in qualsiasi parte del tuo progetto.