Kernpunkte
- fordertJS ist eine JavaScript -Bibliothek, die die Ladeveranstaltung von JavaScript -Abhängigkeiten vereinfacht und die Wartbarkeit der Codebasis verbessert. In großen Projekten ist es besonders nützlich, da die Verfolgung von Abhängigkeiten in großen Projekten eine Herausforderung sein kann. Das Abhängigkeitssystem von
- Angular und das Abhängigkeitsmanagement von RefordyJS haben unterschiedliche Funktionen. AngularJS behandelt die erforderlichen Objekte in der Komponente, während RequestJS Module oder JavaScript -Dateien behandelt.
- AngularJS -Komponente kann als RequiredJS -Modul definiert werden und manuell gestartet werden, da die erforderlichen Skriptdateien asynchron geladen werden müssen. Tools wie
- grunzen können zum Kombinieren und Komprimieren von RequestJS -Modulen für die Bereitstellung verwendet werden, wodurch die Download -Geschwindigkeit von Skriptdateien optimiert wird. Dieser Prozess kann automatisiert und für jede Bereitstellungsphase unterschiedlich konfiguriert werden.
Eine der einfachsten Möglichkeiten, große JavaScript -Anwendungen zu schreiben, besteht darin, die Codebasis in mehrere Dateien aufzuteilen. Dies kann die Wartbarkeit Ihres Codes verbessern, aber die Möglichkeit von fehlenden oder fehlgeleiteten Skript -Tags im Haupt -HTML -Dokument erhöhen. Wenn die Anzahl der Dateien zunimmt, wird die Verfolgung von Abhängigkeiten schwierig. Dieses Problem existiert auch in großen AngularJS -Anwendungen. Wir haben bereits viele Tools, um das Laden von Abhängigkeiten in unserer Anwendung zu bewältigen. In diesem Artikel werden wir lernen, wie man ReformenJs mit AngularJS verwendet, um die Arbeit des Ladens von Abhängigkeiten zu vereinfachen. Wir werden uns auch ansehen, wie Sie Grunzen verwenden, um eine Combo -Datei mit dem RequiredJS -Modul zu generieren.
Einführung in fordernjs
fordertJS ist eine JavaScript -Bibliothek, mit der die Lade der JavaScript -Abhängigkeiten verzögert wird. Das Modul enthält nur einige JavaScript -Dateien, für die JS -Syntaxzucker erforderlich ist. RequiredJs implementiert das von CommonJS angegebene asynchrone Modul. RequestJS bietet eine einfache API zum Erstellen und Referenzmodulen. RequiredJS erfordert eine Hauptdatei, die grundlegende Konfigurationsdaten enthält, z. B. die Pfade zu Modulen und Scheiben. Das folgende Code -Snippet zeigt das Framework der Main.js -Datei:
require.config({ map: { //映射 }, paths: { //模块的别名和路径 }, shim: { //模块及其依赖模块 } });
Alle Module in der Anwendung müssen im Abschnitt Pfade nicht angegeben werden. Andere Module können unter Verwendung ihrer relativen Pfade geladen werden. Um ein Modul zu definieren, müssen wir den Block define () verwenden.
define([ //依赖项 ], function ( //依赖项对象 ) { function myModule() { //可以使用上面接收到的依赖项对象 } return myModule; });
Module können einige abhängige Module haben. Normalerweise wird ein Objekt am Ende des Moduls zurückgegeben, dies ist jedoch keine obligatorische Anforderung.
Angulars Abhängigkeitsinjektion und erforderliche Abhängigkeitsmanagement
Eine häufige Frage, die ich von Angular -Entwicklern gehört habe, bezieht sich auf den Unterschied zwischen dem Abhängigkeitsmanagement von Angular und dem Abhängigkeitsmanagement von RequestJS. Es ist wichtig, sich daran zu erinnern, dass der Zweck dieser beiden Bibliotheken völlig unterschiedlich ist. Die integrierte Abhängigkeitsinjektion in AngularJS erfordert das in der Systemverarbeitungskomponente erforderliche Objekt. Wenn Reformenjs versucht, Module zu laden, überprüft es alle abhängigen Module und lädt sie zuerst. Die Objekte des geladenen Moduls werden zwischengespeichert und werden bereitgestellt, wenn das gleiche Modul erneut angefordert wird. AngularJs hingegen behält einen Injektor mit einer Liste von Namen und entsprechenden Objekten bei. Wenn eine Komponente erstellt wird, wird der Eintrag zum Injektor hinzugefügt und wird bereitgestellt, wenn ein Objekt mit dem registrierten Namen verwiesen wird.
Die Kombination von Anforderungen und AngularJs
Der mit diesem Artikel gelieferte herunterladbare Code ist eine einfache Anwendung mit zwei Seiten. Es hat die folgenden externen Abhängigkeiten:
- fordertjs
- jQuery
- AngularJS
- Winkelweg
- Winkelressource
- Winkel Ui nggrid
Diese Dateien sollten in der hier aufgeführten Reihenfolge direkt in die Seite geladen werden. Wir haben fünf benutzerdefinierte Skriptdateien, die den Code für die erforderliche AngularJS -Komponente enthalten. Mal sehen, wie diese Dateien definiert werden.
Definieren Sie die AngularJS -Komponente wie das Erforderne Jodul
Jede AngularJS -Komponente enthält:
- Funktionsdefinition
- Abhängigkeitsinjektion
- Registrieren Sie sich mit dem Winkelmodul
In den oben genannten drei Aufgaben werden wir die ersten beiden Aufgaben in jedem Modul ausführen, und die dritte Aufgabe wird in einem separaten Modul ausgeführt, das für das Erstellen des AngularJS -Moduls verantwortlich ist. Lassen Sie uns zunächst einen Konfigurationsblock definieren. Der Konfigurationsblock hängt nicht von anderen Blöcken ab und gibt die Konfigurationsfunktion am Ende zurück. Bevor wir das Konfigurationsmodul jedoch in ein anderes Modul laden, müssen wir alles laden, was wir benötigen, um Blöcke zu konfigurieren. config.js enthält den folgenden Code:
require.config({ map: { //映射 }, paths: { //模块的别名和路径 }, shim: { //模块及其依赖模块 } });
Bitte beachten Sie, wie die Abhängigkeitsinjektion im obigen Code -Snippet liegt. Ich benutze $inject
, um die Abhängigkeit zu injizieren, da die oben definierte Konfigurationsfunktion eine normale JavaScript -Funktion ist. Vor dem Schließen des Moduls geben wir die Konfigurationsfunktion so zurück, dass sie zur weiteren Verwendung an das abhängige Modul gesendet werden kann. Wir verfolgen auch den gleichen Ansatz, um andere Arten von Winkelkomponenten zu definieren, da in diesen Dateien keinen komponentenspezifischen Code vorhanden ist. Das folgende Code -Snippet zeigt die Definition des Controllers:
define([ //依赖项 ], function ( //依赖项对象 ) { function myModule() { //可以使用上面接收到的依赖项对象 } return myModule; });
Das Winkelmodul der Anwendung hängt von jedem bisher definierten Modul ab. Diese Datei enthält Objekte aus allen anderen Dateien und hasiert sie an das AngularJS -Modul. Diese Datei kann irgendetwas zurückgeben oder nicht, da das Winkelmodul dieser Datei von überall mit angular.module()
verwiesen werden kann. Der folgende Codeblock definiert ein Winkelmodul:
require.config({ map: { //映射 }, paths: { //模块的别名和路径 }, shim: { //模块及其依赖模块 } });
Da die erforderliche Skriptdatei asynchron geladen wird, ist es unmöglich, die Angularanwendung mithilfe der NG-App-Anweisung zu starten. Der richtige Weg hierher besteht darin, den manuellen Start zu verwenden. Dies muss in einer speziellen Datei namens main.js. erfolgen. Dies erfordert zuerst das Laden der Datei, die das Winkelmodul definiert. Der Code für diese Datei ist unten angezeigt.
define([ //依赖项 ], function ( //依赖项对象 ) { function myModule() { //可以使用上面接收到的依赖项对象 } return myModule; });
grunzen konfigurieren, um fordernjs module
zu kombinieren Bei der Bereitstellung von JavaScript-hochwertigen Anwendungen sollten Skriptdateien kombiniert und komprimiert werden, um die Download-Geschwindigkeit von Skriptdateien zu optimieren. Werkzeuge wie Grunzen können diese Aufgaben leicht automatisieren. Es definiert viele Aufgaben und erleichtert einen Front-End-Bereitstellungsprozess. Es verfügt über eine Aufgabe grunt-contrib-requirejs
, um das RequiredJS -Dateimodul in der richtigen Reihenfolge zu kombinieren und dann die Ergebnisdatei zu komprimieren. Wie bei jeder anderen Grunzaufgabe kann es so konfiguriert werden, dass sie sich für jede Phase der Bereitstellung unterschiedlich verhalten. Die folgende Konfiguration kann für Demonstrationsanwendungen verwendet werden:
define([], function () { function config($routeProvider) { $routeProvider.when('/home', {templateUrl: 'templates/home.html', controller: 'ideasHomeController'}) .when('/details/:id', {templateUrl: 'templates/ideaDetails.html', controller: 'ideaDetailsController'}) .otherwise({redirectTo: '/home'}); } config.$inject = ['$routeProvider']; return config; });
Diese Konfiguration generiert unkomprimierte Dateien beim Ausführen von Grunzen mit der Dev -Option und erzeugt komprimierte Dateien, wenn Sie Grunn mit der Release -Option ausführen.
Schlussfolgerung
Verwalten von Abhängigkeiten können eine Herausforderung werden, wenn die Anwendungsgröße eine bestimmte Anzahl von Dateien überschreitet. Bibliotheken wie RequiredJs erleichtern es, Abhängigkeiten zu definieren, ohne sich Sorgen um die Ladereihenfolge der Datei zu machen. Das Abhängigkeitsmanagement wird zu einem integralen Bestandteil von JavaScript -Anwendungen. AngularJS 2.0 unterstützt AMD im Einbau.
(Der FAQs-Teil wurde weggelassen, weil es zu lang ist und nicht mit dem pseudooriginalen Ziel übereinstimmt. Der FAQs-Teil kann nach Bedarf regeneriert werden.)
Das obige ist der detaillierte Inhalt vonVerwenden von ReformenJs in AngularJS -Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

JavaScript -Kerndatentypen sind in Browsern und Knoten.js konsistent, werden jedoch unterschiedlich als die zusätzlichen Typen behandelt. 1) Das globale Objekt ist ein Fenster im Browser und global in node.js. 2) Node.js 'eindeutiges Pufferobjekt, das zur Verarbeitung von Binärdaten verwendet wird. 3) Es gibt auch Unterschiede in der Leistung und Zeitverarbeitung, und der Code muss entsprechend der Umgebung angepasst werden.

JavaScriptUSESTWOTYPESOFCOMMENMENTEN: Einzelzeilen (//) und Multi-Linie (//). 1) Verwendung // Forquicknotesorsingle-Linexplanationen.2 Verwendung // ForlongerExPlanationsCompomentingingoutblocks-

Der Hauptunterschied zwischen Python und JavaScript sind die Typ -System- und Anwendungsszenarien. 1. Python verwendet dynamische Typen, die für wissenschaftliche Computer- und Datenanalysen geeignet sind. 2. JavaScript nimmt schwache Typen an und wird in Front-End- und Full-Stack-Entwicklung weit verbreitet. Die beiden haben ihre eigenen Vorteile bei der asynchronen Programmierung und Leistungsoptimierung und sollten bei der Auswahl gemäß den Projektanforderungen entschieden werden.

Ob die Auswahl von Python oder JavaScript vom Projekttyp abhängt: 1) Wählen Sie Python für Datenwissenschafts- und Automatisierungsaufgaben aus; 2) Wählen Sie JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung. Python ist für seine leistungsstarke Bibliothek in der Datenverarbeitung und -automatisierung bevorzugt, während JavaScript für seine Vorteile in Bezug auf Webinteraktion und Full-Stack-Entwicklung unverzichtbar ist.

Python und JavaScript haben jeweils ihre eigenen Vorteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1. Python ist leicht zu erlernen, mit prägnanter Syntax, die für Datenwissenschaft und Back-End-Entwicklung geeignet ist, aber eine langsame Ausführungsgeschwindigkeit hat. 2. JavaScript ist überall in der Front-End-Entwicklung und verfügt über starke asynchrone Programmierfunktionen. Node.js macht es für die Entwicklung der Vollstapel geeignet, die Syntax kann jedoch komplex und fehleranfällig sein.

JavaScriptisnotbuiltoncorc; Es ist angehört, dass sich JavaScriptWasdedeSthatrunsonGineoFtencninc.

JavaScript kann für die Entwicklung von Front-End- und Back-End-Entwicklung verwendet werden. Das Front-End verbessert die Benutzererfahrung durch DOM-Operationen, und die Back-End-Serveraufgaben über node.js. 1. Beispiel für Front-End: Ändern Sie den Inhalt des Webseitentextes. 2. Backend Beispiel: Erstellen Sie einen Node.js -Server.

Die Auswahl von Python oder JavaScript sollte auf Karriereentwicklung, Lernkurve und Ökosystem beruhen: 1) Karriereentwicklung: Python ist für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet, während JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung geeignet ist. 2) Lernkurve: Die Python -Syntax ist prägnant und für Anfänger geeignet; Die JavaScript -Syntax ist flexibel. 3) Ökosystem: Python hat reichhaltige wissenschaftliche Computerbibliotheken und JavaScript hat ein leistungsstarkes Front-End-Framework.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software
