Heim > Web-Frontend > js-Tutorial > Wie kann ich externe Skripte in Angular dynamisch laden?

Wie kann ich externe Skripte in Angular dynamisch laden?

Mary-Kate Olsen
Freigeben: 2024-11-30 10:34:14
Original
485 Leute haben es durchsucht

How Can I Dynamically Load External Scripts in Angular?

Dynamisches Laden externer Skripte in Angular

Das dynamische Laden externer Skripte ermöglicht es Angular-Anwendungen, das Laden von Bibliotheken von Drittanbietern zu verschieben, bis dies der Fall ist tatsächlich benötigt werden, wodurch Leistung und Flexibilität verbessert werden. Der Standard-ES6-Importmechanismus ist jedoch statisch und erfolgt während der Transpilierung, sodass er für diesen Zweck ungeeignet ist.

Lösung:

Um externe Skripte dynamisch zu laden, können wir verwenden ein benutzerdefinierter Dienst, der das Laden von Skripten verwaltet. Ein solcher Dienst verwendet den folgenden Ansatz:

1. Erstellen Sie einen Skriptspeicher:

Definieren Sie ein Array von Objekten, die jeweils den Namen und den Quellpfad eines Skripts enthalten:

const ScriptStore: Scripts[] = [
    {name: 'filepicker', src: 'https://api.filestackapi.com/filestack.js'},
    {name: 'rangeSlider', src: '../../../assets/js/ion.rangeSlider.min.js'}
];
Nach dem Login kopieren

2. Implementieren Sie einen Skriptdienst:

Erstellen Sie einen Dienst, der Methoden zum Laden von Skripten bereitstellt:

@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
    }
}
Nach dem Login kopieren

3. Skripte dynamisch laden:

Fügen Sie den ScriptService an der erforderlichen Stelle ein und rufen Sie load() auf, um Skripte dynamisch zu laden:

this.script.load('filepicker', 'rangeSlider').then(data => {
    console.log('Scripts loaded: ', data);
});
Nach dem Login kopieren

Bei diesem Ansatz werden die Skripte während der Laufzeit dynamisch geladen, um Folgendes bereitzustellen Flexibilität und Kontrolle über das Laden externer Bibliotheken in Angular-Anwendungen.

Das obige ist der detaillierte Inhalt vonWie kann ich externe Skripte in Angular dynamisch laden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage