Maison > interface Web > js tutoriel > Comment puis-je charger dynamiquement des scripts externes dans Angular ?

Comment puis-je charger dynamiquement des scripts externes dans Angular ?

Mary-Kate Olsen
Libérer: 2024-11-30 10:34:14
original
487 Les gens l'ont consulté

How Can I Dynamically Load External Scripts in Angular?

Chargement dynamique de scripts externes dans Angular

Le chargement dynamique de scripts externes permet aux applications Angular de différer le chargement de bibliothèques tierces jusqu'à ce qu'elles soient réellement nécessaire, améliorant ainsi les performances et la flexibilité. Cependant, le mécanisme d'importation standard ES6 est statique et se produit lors de la transpilation, ce qui le rend inadapté à cette fin.

Solution :

Pour charger dynamiquement des scripts externes, nous pouvons utiliser un service personnalisé qui gère le chargement des scripts. L'un de ces services utilise l'approche suivante :

1. Créer un magasin de scripts :

Définissez un tableau d'objets contenant chacun le nom et le chemin source d'un script :

const ScriptStore: Scripts[] = [
    {name: 'filepicker', src: 'https://api.filestackapi.com/filestack.js'},
    {name: 'rangeSlider', src: '../../../assets/js/ion.rangeSlider.min.js'}
];
Copier après la connexion

2. Implémenter un service de script :

Créez un service qui fournit des méthodes de chargement de scripts :

@Injectable()
export class ScriptService {

    private scripts: any = {};

    constructor() {
        ScriptStore.forEach((script) => {
            this.scripts[script.name] = {
                loaded: false,
                src: script.src
            };
        });
    }

    load(...scripts: string[]) {
        // Load multiple scripts in parallel
    }

    loadScript(name: string) {
        // Load a single script
    }
}
Copier après la connexion

3. Charger dynamiquement les scripts :

Injectez le ScriptService là où cela est nécessaire et invoquez load() pour charger dynamiquement les scripts :

this.script.load('filepicker', 'rangeSlider').then(data => {
    console.log('Scripts loaded: ', data);
});
Copier après la connexion

Dans cette approche, les scripts sont chargés dynamiquement pendant l'exécution, fournissant ainsi flexibilité et contrôle sur le chargement des bibliothèques externes dans les applications angulaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal