


vorsichtig! Die Fallstricke beim Zusammenführen und Komprimieren von Dateien mit AngularJS in Kombination mit RequireJS_javascript-Kenntnissen
Das AngularJS-Framework wurde im Projekt verwendet und RequireJS wurde für das asynchrone Laden von Modulen (AMD) verwendet. Beim Zusammenführen und Komprimieren von Dateien bin ich auf einige Fallstricke gestoßen, aber ich habe die Gründe nicht verstanden.
Diese Gruben
1. Die Pfade in build.js müssen mit denen in main.js übereinstimmen.
Diese build.js ist die von r.js verwendete Konfigurationsdatei und main.js ist die Hauptdatei von RequireJS. Beim Zusammenführen und Komprimieren müssen die Pfade auch in die Datei build.js geschrieben werden, und sie sind immer noch dieselben wie in main.js. Ich bin sehr überrascht, warum die Pfade von require.config in main nicht erkannt werden können, um sie zu speichern die Notwendigkeit, die Pfade beim Zusammenführen zu kopieren (ich habe versucht, dass es in build.js keine Pfade gibt und es nicht zusammengeführt werden kann). (-_-!!!)
2. Einige abhängige Bibliotheken müssen vor dem Zusammenführen den gesamten relativen Pfad schreiben.
Im Projekt verwende ich eine Bibliothek eines Drittanbieters namens Layer (die Bibliothek wurde mit requireJS define geschrieben. Als ich am Anfang nur die Entwicklung durchführte, musste ich nach der Konfiguration des Pfads in Pfaden nur die Abkürzung verwenden). (definieren), um diese Bibliothek abhängig von der Zeit zu verwenden. Beim Zusammenführen wurde mir jedoch mitgeteilt, dass die Datei nicht existierte (da die Abkürzung direkt zur Schreibweise der Dateiadresse verwendet wurde, konnte ich nur die Verwendung dieser Bibliothek ändern.) Der gesamte relative Pfad wurde zu diesem Zeitpunkt entwickelt. Es ist nichts Falsches daran, zusammenzuführen.
3. Es kann nach dem Zusammenführen ausgeführt werden, jedoch nicht nach der Komprimierung.
Dies ist das schwerwiegendste Problem, das schwerwiegendste Problem, das schwerwiegendste Problem. Nachdem die Dateien zusammengeführt und komprimiert wurden, läuft AngularJS bei der Verwendung der Dateien abnormal und meldet immer einen Modulinitialisierungsfehler. Fehler beim Instanziieren des gemeinsamen Moduls aufgrund von: Fehler: [$injector:unpr] Unbekannter Anbieter: e , wie unten gezeigt.
Ein sehr wichtiger Punkt ist, dass es ohne Komprimierung verwendet werden kann. Nach der Komprimierung (Standardkomprimierung wird verwendet) wird bei Verwendung ein Fehler gemeldet. Ich denke also, dass etwas „zerquetscht“ werden muss. In einigen Artikeln im Internet heißt es, dass Sie AngularJS-Controller, -Anweisungen usw. wie folgt schreiben müssen und die verwendeten Dienste in Zeichenfolgen definiert sind.
commonModule.controller( "broswerCtrl" ,["$scope" ,"$sce" , function ($scope,$sce){
Aber meine gesamte Anwendung ist auf diese Weise definiert und es besteht keine Möglichkeit, dass Fehler darin eingeschleust werden. Am Ende blieb mir nichts anderes übrig, als mangle: false zu konfigurieren, ohne die Variablennamen zu verwechseln. Danach können die zusammengeführten und komprimierten Dateien korrekt verwendet werden! ! !
PS: Um es einfach auszudrücken: Zusammenführen und Komprimieren sind möglich, aber Variablennamen dürfen nicht verwechselt werden (ich habe immer das Gefühl, dass es für das Problem vorerst keine Lösung gibt).
4. Die zweite Anforderungsebene kann beim Zusammenführen nicht zusammengeführt werden.
Wenn Sie beispielsweise das Modul wie folgt in main.js laden, werden Sie feststellen, dass die zweite Anforderungsebene beim Zusammenführen nicht zusammengeführt wurde.
require([ "COMMON"], function(){ require([ "angular", "LOGIN" ], function(angular){ //.... }); });
Zu diesem Zeitpunkt müssen Sie findNestedDependencies: true zu build.js hinzufügen, und dann wird die zweite Ebene zusammengeführt.
Zusammenführungsvorbereitung
1. Installieren Sie nodejs
Das Zusammenführen und Komprimieren von Dateien basiert auf NodeJS. Installieren Sie daher zuerst NodeJS.
2. Laden Sie r.js herunter
r.js arbeitet mit der Schreibmethode des Moduls requirejs zusammen, um Dateien zusammenzuführen und zu komprimieren.
Einfache Konfiguration
Am besten schreiben Sie eine build.js für die Konfigurationsdatei wie folgt:
({ baseUrl:"../", paths: { //... }, shim: { //... }, optimize: "uglify2", uglify2: { mangle: false //false 不混淆变量名 }, findNestedDependencies: true, name: "js/main", out: "../js/main-built.js" })
Hier sind einige Schlüsselattribute:
baseUrl: Alle Module (normalerweise js) existieren relativ zu diesem Pfad.
optimieren: So optimieren Sie Skriptdateien. Nachfolgend finden Sie fünf Wertmethoden.
- uglify: (Standard) Komprimiert mit UglifyJS.
- uglify2: Komprimiert mit UglifyJS2 (2.1.2).
- Abschluss: Verwenden Sie den einfachen Optimierungsmodus des Closure Compilers von Google, um Dateien zu komprimieren. Dies ist nur gültig, wenn das Optimierungstool Java verwendet.
- closure.keepLines: Identisch mit dem Schließungsparameter, außer dass Zeilenumbrüche beibehalten werden.
- keine: Keine Komprimierung.
findNestedDependencies: Suchen Sie nach Abhängigkeiten, die in require() aufgerufen werden oder sich definieren.
PS: Es gibt noch viele weitere Konfigurationsattribute, daher werde ich nicht auf Details eingehen. Wenn die Dateien konfiguriert sind, führen Sie den Befehl zum Zusammenführen und Komprimieren
ausnode r.js -o build.js
Zusammenfassung
Das Zusammenführen und Komprimieren von RequireJS-Modulen ist relativ einfach, aber wenn es um AngularJS geht, gibt es einige Probleme mit der Komprimierung und es wurde bisher kein besserer Weg gefunden.
Das Obige ist der detaillierte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.

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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Nehmen Sie zwei Arrays als Eingabe, versuchen Sie, die beiden Arrays zusammenzuführen oder zu verketten und das Ergebnis im dritten Array zu speichern. Die Logik zum Zusammenführen zweier Arrays lautet wie folgt: J=0,k=0for(i=0;i<o;i++){//mergingtwoarrays if(a[j]<=b[k]){ c[i] =a[j]; j++; }else{ &nbs

Durch die Speicherkomprimierung unter Windows 11 verschluckt sich Ihr Gerät selbst bei begrenzter RAM-Menge. In diesem Artikel zeigen wir Ihnen, wie Sie die Speicherkomprimierung unter Windows 11 aktivieren oder deaktivieren. Was ist Speicherkomprimierung? Bei der Speicherkomprimierung handelt es sich um eine Funktion, die Daten vor dem Schreiben in den RAM komprimiert und so mehr Speicherplatz darauf bereitstellt. Natürlich führen mehr im physischen Speicher gespeicherte Daten zu einem schnelleren Systembetrieb und einer besseren Gesamtleistung. Diese Funktion ist in Windows 11 standardmäßig aktiviert. Wenn sie jedoch aus irgendeinem Grund nicht aktiv ist, können Sie sie deaktivieren oder erneut aktivieren. Wie aktiviere ich die Speicherkomprimierung in Windows 11? Klicken Sie auf die Suchleiste, geben Sie PowerShell ein und klicken Sie

Überblick über erweiterte Funktionen zur Verwendung von HTML, CSS und jQuery zur Implementierung der Bildzusammenführungsanzeige: Im Webdesign ist die Bildanzeige ein wichtiger Link, und die Bildzusammenführungsanzeige ist eine der gängigen Techniken zur Verbesserung der Seitenladegeschwindigkeit und der Benutzererfahrung. In diesem Artikel wird erläutert, wie Sie mithilfe von HTML, CSS und jQuery erweiterte Funktionen zum Zusammenführen und Anzeigen von Bildern implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. HTML-Layout: Zuerst müssen wir einen Container in HTML erstellen, um die zusammengeführten Bilder anzuzeigen. Sie können di verwenden

Ich habe festgestellt, dass das von einer bestimmten Download-Website heruntergeladene komprimierte Paket nach der Dekomprimierung größer ist als das ursprüngliche komprimierte Paket. Der Unterschied beträgt mehrere zehn KB und mehrere zehn MB. Wenn es auf eine Cloud-Festplatte oder einen kostenpflichtigen Speicherplatz hochgeladen wird, spielt es keine Rolle Wenn die Datei klein ist und viele Dateien vorhanden sind, erhöhen sich die Speicherkosten erheblich. Ich habe einige Recherchen dazu durchgeführt und kann bei Bedarf daraus lernen. Komprimierungsstufe: 9-extreme Komprimierung. Wörterbuchgröße: 256 oder 384. Je stärker das Wörterbuch komprimiert ist, desto langsamer ist der Unterschied in der Komprimierungsrate vor 256 MB. Nach 384 MB gibt es keinen Unterschied in der Komprimierungsrate Parameter: f=BCJ2, die Komprimierungsrate für Test- und Add-Parameter ist höher

CSV-Dateien (Comma Separated Values) werden häufig zum Speichern und Austauschen von Daten in einem einfachen Format verwendet. Bei vielen Datenverarbeitungsaufgaben besteht die Notwendigkeit, zwei oder mehr CSV-Dateien basierend auf bestimmten Spalten zusammenzuführen. Glücklicherweise kann dies mithilfe der Pandas-Bibliothek in Python leicht erreicht werden. In diesem Artikel erfahren Sie, wie Sie mit Pandas in Python zwei CSV-Dateien nach bestimmten Spalten zusammenführen. Was ist die Pandas-Bibliothek? Pandas ist eine Open-Source-Bibliothek zur Informationskontrolle und -prüfung in Python. Es bietet Werkzeuge für die Arbeit mit strukturierten Daten (z. B. Tabellen-, Zeitreihen- und mehrdimensionalen Daten) und Hochleistungsdatenstrukturen. Pandas wird häufig in den Bereichen Finanzen, Datenwissenschaft, maschinelles Lernen und anderen Bereichen eingesetzt, in denen Datenmanipulation erforderlich ist.

Schneller Einstieg: JSON-Array-Zusammenführungs- und Aufteilungstechniken in Java In der modernen Softwareentwicklung sind Datenformat und -übertragung immer wichtiger geworden. Unter diesen ist JSON (JavaScriptObjectNotation) ein häufig verwendetes Datenformat, das sich besonders für Front-End- und Back-End-Interaktion und Datenspeicherung eignet. In der Java-Entwicklung müssen wir uns häufig mit JSON-Objekten und JSON-Arrays befassen. In diesem Artikel wird erläutert, wie Sie JSON-Arrays in Java zusammenführen und aufteilen, sowie Tipps und Beispiele für die Implementierung dieser Vorgänge.

So verwenden Sie Nginx zum Komprimieren und Dekomprimieren von HTTP-Anfragen. Nginx ist ein leistungsstarker Webserver und Reverse-Proxy-Server, der leistungsstark und flexibel ist. Bei der Verarbeitung von HTTP-Anfragen können Sie die von Nginx bereitgestellten Module gzip und gunzip verwenden, um die Anfragen zu komprimieren und zu dekomprimieren, um die Menge der Datenübertragung zu reduzieren und die Antwortgeschwindigkeit der Anfrage zu verbessern. In diesem Artikel werden die spezifischen Schritte zur Verwendung von Nginx zum Komprimieren und Dekomprimieren von HTTP-Anforderungen vorgestellt und entsprechende Codebeispiele bereitgestellt. Gzip-Modul konfigurieren

Viele Freunde müssen Bildschirme für Büroarbeiten aufzeichnen oder Dateien übertragen, aber manchmal verursacht das Problem zu großer Dateien große Probleme. Im Folgenden finden Sie eine Lösung für das Problem zu großer Dateien. Schauen wir uns das an. Was tun, wenn die Win10-Bildschirmaufzeichnungsdatei zu groß ist: 1. Laden Sie die Software Format Factory herunter, um die Datei zu komprimieren. Download-Adresse >> 2. Rufen Sie die Hauptseite auf und klicken Sie auf die Option „Video-MP4“. 3. Klicken Sie auf der Seite mit dem Konvertierungsformat auf „Datei hinzufügen“ und wählen Sie die zu komprimierende MP4-Datei aus. 4. Klicken Sie auf der Seite auf „Ausgabekonfiguration“, um die Datei entsprechend der Ausgabequalität zu komprimieren. 5. Wählen Sie „Geringe Qualität und Größe“ aus der Dropdown-Konfigurationsliste und klicken Sie auf „OK“. 6. Klicken Sie auf „OK“, um den Import der Videodateien abzuschließen. 7. Klicken Sie auf „Start“, um die Konvertierung zu starten. 8. Nach Abschluss können Sie
