Ich habe ein Problem, wo ich eine bestimmte 3rd-Party-Bibliothek verwenden muss, um eine Nonce zu generieren, um die Square Connect API zu verwenden. Ich habe Probleme zu finden, wie man die externe Javascript-Bibliothek lädt, da sie kein Knotenmodul haben, das ich laden kann, wie ich normalerweise tue. Mit externer Bibliothek meine ich so etwas wie <script src="https://js.squareup.com/v2/paymentform " type="text/javascript">
Ich habe keinen guten Weg gefunden, dies in meine Anwendung zu laden, damit ich es benutzen kann. Irgendwelche Ideen, wie ich dieses Problem lösen kann?Wie externe Javascript-Bibliotheken in Angular 4-Komponenten geladen werden
Antwort
Einige Optionen, die ich verwendet habe:
Globale Skript angular-cli
"scripts": [ "global-script.js", { "input": "lazy-script.js", "lazy": true }, { "input": "pre-rename-script.js", "output": "renamed-script" }, ]
in einem bestimmten Modul Erfordern mit
import { NgModule } from '@angular/core'; ... require('chart.js'); require('../../libs/chartjs-plugin-annotation'); ...
ein globales Skript zur Laufzeit hinzufügen basierend auf einer Bedingung
if (this.usesCKEditor(permissions) && !window['CKEDITOR']) { const url = '//cdn.ckeditor.com/4.7.3/full/ckeditor.js'; const script = document.createElement('script'); script.type = 'text/javascript'; script.src = url; document.body.appendChild(script); } // must check if the script has loaded before using it
Auf Option Nummer 1 müssen Sie das Skript zuerst herunterladen oder kann ich den Link URL? –
@ JonathanJensen nur ein FYI, Sie sind nicht erlaubt (von Square), um das Skript herunterzuladen und enthalten, so Optionen wie Nummer 3 werden besser für Sie sein. – tristansokol
@ JonathanJensen können Sie die URL in Option 1 setzen auch –
Erster Ansatz:
Siehe die Skripte in der angular-cli.json
Datei.
"scripts": [
"../path"
];
Zweiter Ansatz
Sie können Ihre eigene Richtlinie laden Skript wie unten
import { Directive, OnInit, Input } from '@angular/core';
@Directive({
selector: '[appLoadScript]'
})
export class LoadScriptDirective implements OnInit{
@Input('script') param: any;
ngOnInit() {
let node = document.createElement('script');
node.src = this.param;
node.type = 'text/javascript';
node.async = false;
node.charset = 'utf-8';
document.getElementsByTagName('head')[0].appendChild(node);
}
}
HOW TO USE
<i appLoadScript [script]="'https://js.squareup.com/v2/paymentform'"></i>
erstellen
- 1. lampp warten, bis externe Quellen geladen werden
- 2. In Angular kann in Code geladen werden?
- 3. Angular 2 - Wie werden TypeScript-Deklarationsdateien geladen?
- 4. Angular-cli Wie werden die Dateitypen geladen?
- 5. Wie JS-Bibliothek in Angular 4-Komponente geladen werden
- 6. Bilder werden geladen angular JS
- 7. Wie werden mehrere externe SWF-Dateien korrekt geladen?
- 8. Wie Daten an externe Javascript-Skript übergeben werden, asynchron geladen
- 9. Wie können externe Javascript-Dateien in Angular eingebunden werden?
- 10. Wie angular 2 Dateien in Express Sub-App geladen werden
- 11. Angular2 + Webpack2 externe Vorlage wird geladen
- 12. So erzwingen externe Edelsteine geladen werden Hersteller Ordner
- 13. JavaFX - Externe CSS-Designs können nicht geladen werden
- 14. Wie externe Bibliotheken in Angular Class Starter
- 15. Angular Universal + Externe API
- 16. Html - kann nicht geladen werden externe http.jpg als Bildquelle
- 17. SimpleXML - I/O-Warnung: externe Entität konnte nicht geladen werden
- 18. Alphabetische Reihenfolge funktioniert nicht, wenn externe Checkboxen geladen werden
- 19. angular-translate: Wie statische json-Dateien geladen werden?
- 20. Wie wird eine externe Vorlage in Angular 2 Component dynamisch geladen?
- 21. Wie kann Javascript Bibliotheken geladen werden, nachdem der Inhalt in Angular 2/4 geladen wurde?
- 22. Angular 2 externe Eingänge
- 23. Wie externe java-script-funktion in angular 5 aufrufen?
- 24. Angular JS und externe Bibliotheken
- 25. Wie können externe Daten in der Replikatoraktivität in einem sequenziellen Arbeitsablauf geladen werden?
- 26. Angular CLI: CDN-Skripte können nicht in HTML geladen werden
- 27. Angular 1, wie externe Komponente in ng-include ordnungsgemäß enthalten?
- 28. Angular Direktiven beobachten externe Modelle
- 29. Spring Boot: Externe Eigenschaften Datei nicht geladen
- 30. Angular 2-, wie externe lib verwenden
Wenn Sie eckig-cli verwenden, sollten Sie es in den Skriptabschnitt in .angular-cli.json setzen –