Heim Web-Frontend js-Tutorial Eine kurze Analyse der Moduldefinition und des Modulladens von seaJs_Seajs

Eine kurze Analyse der Moduldefinition und des Modulladens von seaJs_Seajs

May 16, 2016 pm 04:45 PM
模块

SeaJS ist ein von Yubo entwickeltes Modullade-Framework, das der CommonJS-Spezifikation folgt und zum einfachen und problemlosen Laden beliebiger JavaScript-Module und CSS-Modulstile verwendet werden kann. Die geringe Größe von SeaJS liegt darin, dass die Größe nach Komprimierung und GZIP nur 4 KB beträgt und es nur sehr wenige Schnittstellen und Methoden gibt: Moduldefinition und Modulladen und -abhängigkeiten. SeaJS ist sehr leistungsfähig. SeaJS kann jedes JavaScript-Modul laden und der CSS-Modulstil stellt sicher, dass bei Verwendung eines Moduls auch andere Module, von denen es abhängt, in die Skriptausführungsumgebung geladen werden. Laut Onkel Yu können Sie mit SeaJS den Spaß am Schreiben von Code genießen, ohne sich über Ladeprobleme Gedanken machen zu müssen. Haben Sie genug von so vielen JS- und CSS-Referenzen? Ich habe 39 CSS- und JS-Referenzen auf der persönlichen Homepage unserer Unternehmenswebsite gezählt. Die Auswirkungen können Sie sich vorstellen:

1. Nicht wartungsfreundlich, das Front-End und das Backend sind gleich
2. Natürlich kann dies durch Zusammenführen gelöst werden, aber wenn keine direkte Zusammenführung erfolgt Back-End, die Arbeitskosten werden sehr hoch sein, selbst wenn das Back-End zusammengeführt wird, muss eine so lange Zeichenfolge für die Augen verwirrend sein

SeaJS kann diese Probleme sehr gut lösen.

Moduldefinition definieren

Es ist relativ einfach, ein Modul zu definieren, zum Beispiel ein sayHello-Modul zu definieren und ein sayHello.js-Dokument zu erstellen:

Kopieren Sie den Code Der Code lautet wie folgt:

define(function(require,exports,module){
exports.sayHello = function(eleID,text) {
document.getElementById (eleID).innerHTML=text;
};
});

Werfen wir zunächst einen Blick auf den Exports-Parameter. Der Exports-Parameter wird verwendet, um die API des Moduls bereitzustellen Das heißt, andere Module können über diese Exportmethode auf sayHello zugreifen.

Modulladenutzung

Zum Beispiel gibt es auf unserer Seite ein Element mit der ID „out“ und wir möchten „Hello SeaJS!“ ausgeben,
dann können wir zuerst sea.js einführen
und dann das sayHello-Modul verwenden :

Code kopieren Der Code lautet wie folgt:

seajs.use("sayHello/sayHello ",function(say){
say.sayHello("out","Hello SeaJS!");
});

hier verwenden ist die Methode zur Verwendung des Moduls:

Der erste Parameter ist die Moduldarstellung, die durch den relativen Pfad relativ zu sea.js dargestellt wird. Das Suffix „.js“ nach sayHello.js kann natürlich weggelassen werden. Weitere Informationen finden Sie in den offiziellen Anweisungen: http://seajs.com/docs/zh-cn/module-identifier.html
Der erste Parameter ist eine Rückruffunktion. say.sayHello() dient zum Aufrufen der exports.sayHello-Methode des sayHello-Moduls. Natürlich gibt es einen say-Parameter in der Rückruffunktion.

Modulabhängigkeiten

Modulabhängigkeiten sollten tatsächlich vorhanden sein, wenn das Modul definiert wird. Schreiben wir beispielsweise das obige sayHello-Modul neu. Angenommen, wir haben bereits ein allgemeines DOM-Modul, z. B. einige Methoden zum Abrufen von Elementen, Festlegen von Stilen usw. Schreiben Sie für ein solches DOM-Modul beispielsweise DOM.js wie folgt:

Code kopieren Der Code lautet wie folgt:

define(function(require, exports, module) {
    var DOM = {
        /**
* Rufen Sie das DOM-Objekt über das id-Attribut des Elements ab, der Parameter ist eine Zeichenfolge oder mehrere Zeichenfolgen
* @id getById
* @method getById
* @param {String} id the id-Attribut
* @return {HTMLElement |. Objekt} Das HTMLElement mit der ID, oder null, wenn keines gefunden wird.
*/
        getById: function() {
            var els = [];
            for (var i = 0; i < arguments.length; i ) {
                var el = arguments[i];
                if (typeof el == "string") {                }
                els.push(el);
}
            return els;
        },
        /**
* get ruft das Objekt ab. Sie können ein Objekt oder eine Zeichenfolge übergeben. Wenn die Zeichenfolge übergeben wird, wird das Objekt durch document.getElementById() abgerufen.
* @id get
* @param { String} das HTML-Element
* @return {Object} HTMLElement-Objekt.
*/
        get: function(el) {
            if (el & amp; amp; amp; & amp; amp ; amp; (el.tagName || el.item)) {
               return el;
                DOM zurückgeben ;
});


那么sayHello模块可以这样编写,为了不影响原来的demo页面,所以我定一个新的sayHelloA模块,我们可以这样编写sayHelloA.js:




复制代码

代码如下:


require依赖于DOM模块,因为用到了DOM模块的get方法.
注意这里的var. DOM=require("DOM/DOM"), 这句是将应用进来的DOM模块赋值给DOM;require("sayHelloA/sayHello.css")接应用Sagen Sie Hallo .css css模块或者说文件.这样页面上会引用这个css文件.

最近这几天一直捣腾SeaJS,越捣腾越喜欢,感谢玉伯!感谢SeaJS!当然你可能觉得这么简单的几个实例没必要这么做.确实如果js文件少的小项目感觉不错模块化

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

WLAN-Erweiterungsmodul ist gestoppt [Fix] WLAN-Erweiterungsmodul ist gestoppt [Fix] Feb 19, 2024 pm 02:18 PM

Wenn es ein Problem mit dem WLAN-Erweiterungsmodul Ihres Windows-Computers gibt, kann dies dazu führen, dass Sie nicht mehr mit dem Internet verbunden sind. Diese Situation ist oft frustrierend, aber glücklicherweise enthält dieser Artikel einige einfache Vorschläge, die Ihnen helfen können, dieses Problem zu lösen und Ihre drahtlose Verbindung wieder ordnungsgemäß funktionieren zu lassen. Behebung, dass das WLAN-Erweiterbarkeitsmodul nicht mehr funktioniert Wenn das WLAN-Erweiterbarkeitsmodul auf Ihrem Windows-Computer nicht mehr funktioniert, befolgen Sie diese Vorschläge, um das Problem zu beheben: Führen Sie die Netzwerk- und Internet-Fehlerbehebung aus, um drahtlose Netzwerkverbindungen zu deaktivieren und wieder zu aktivieren. Starten Sie den WLAN-Autokonfigurationsdienst neu. Ändern Sie die Energieoptionen. Ändern Erweiterte Energieeinstellungen Netzwerkadaptertreiber neu installieren Einige Netzwerkbefehle ausführen Schauen wir uns das nun im Detail an

Das WLAN-Erweiterungsmodul kann nicht gestartet werden Das WLAN-Erweiterungsmodul kann nicht gestartet werden Feb 19, 2024 pm 05:09 PM

In diesem Artikel werden Methoden zur Behebung des Ereignisses ID10000 beschrieben, das darauf hinweist, dass das WLAN-Erweiterungsmodul nicht gestartet werden kann. Dieser Fehler kann im Ereignisprotokoll des Windows 11/10-PCs erscheinen. Das WLAN-Erweiterbarkeitsmodul ist eine Komponente von Windows, die es unabhängigen Hardwareanbietern (IHVs) und unabhängigen Softwareanbietern (ISVs) ermöglicht, Benutzern angepasste Features und Funktionen für drahtlose Netzwerke bereitzustellen. Es erweitert die Funktionalität nativer Windows-Netzwerkkomponenten durch Hinzufügen von Windows-Standardfunktionen. Das WLAN-Erweiterungsmodul wird im Rahmen der Initialisierung gestartet, wenn das Betriebssystem Netzwerkkomponenten lädt. Wenn beim WLAN-Erweiterungsmodul ein Problem auftritt und es nicht gestartet werden kann, wird möglicherweise eine Fehlermeldung im Protokoll der Ereignisanzeige angezeigt.

Python verwendet häufig Standardbibliotheken und Bibliotheken von Drittanbietern im 2-SYS-Modul Python verwendet häufig Standardbibliotheken und Bibliotheken von Drittanbietern im 2-SYS-Modul Apr 10, 2023 pm 02:56 PM

1. Einführung in das SYS-Modul Das zuvor vorgestellte OS-Modul ist hauptsächlich für das Betriebssystem gedacht, während das SYS-Modul in diesem Artikel hauptsächlich für den Python-Interpreter gedacht ist. Das sys-Modul ist ein Modul, das mit Python geliefert wird. Es ist eine Schnittstelle für die Interaktion mit dem Python-Interpreter. Das sys-Modul bietet viele Funktionen und Variablen für den Umgang mit verschiedenen Teilen der Python-Laufzeitumgebung. 2. Häufig verwendete Methoden des sys-Moduls Sie können mithilfe der dir()-Methode überprüfen, welche Methoden im sys-Modul enthalten sind: import sys print(dir(sys))1.sys.argv – Rufen Sie die Befehlszeilenparameter sys ab. argv wird verwendet, um den Befehl von außerhalb des Programms zu implementieren. Dem Programm werden Parameter übergeben und es kann die Befehlszeilenparameterspalte abrufen

Python-Programmierung: Detaillierte Erläuterung der wichtigsten Punkte bei der Verwendung benannter Tupel Python-Programmierung: Detaillierte Erläuterung der wichtigsten Punkte bei der Verwendung benannter Tupel Apr 11, 2023 pm 09:22 PM

Vorwort In diesem Artikel wird weiterhin das Python-Sammlungsmodul vorgestellt. Dieses Mal werden hauptsächlich die darin enthaltenen benannten Tupel vorgestellt, dh die Verwendung von benannten Tupeln. Fangen wir ohne Umschweife an – denken Sie daran, „Gefällt mir“, „Folgen“ und „Weiterleiten“ zu markieren. Sie können überall dort verwendet werden, wo reguläre Tupel verwendet werden, und bieten die Möglichkeit, auf Felder über den Namen statt über den Positionsindex zuzugreifen. Es stammt aus den in Python integrierten Modulsammlungen. Die verwendete allgemeine Syntax lautet: Sammlungen importieren XxNamedT

Wie funktioniert der Import von Python? Wie funktioniert der Import von Python? May 15, 2023 pm 08:13 PM

Hallo, mein Name ist somenzz, du kannst mich Bruder Zheng nennen. Der Import von Python ist sehr intuitiv, aber manchmal werden Sie feststellen, dass trotz des Vorhandenseins des Pakets immer noch ModuleNotFoundError auftritt. Der relative Pfad ist offensichtlich sehr korrekt, aber der Fehler ImportError:attemptedrelativeimportwithnoknownparentpackage importiert ein Modul im selben Verzeichnis ein anderes. Die Module des Verzeichnisses sind völlig unterschiedlich. Dieser Artikel hilft Ihnen, den Import zu vereinfachen, indem er einige Probleme analysiert, die bei der Verwendung des Imports auftreten. Auf dieser Grundlage können Sie problemlos Attribute erstellen.

So verwenden Sie DateTime in Python So verwenden Sie DateTime in Python Apr 19, 2023 pm 11:55 PM

Alle Daten werden zu Beginn automatisch mit einem „DOB“ (Geburtsdatum) versehen. Daher ist es unvermeidlich, dass bei der Verarbeitung von Daten irgendwann Datums- und Uhrzeitdaten auftreten. Dieses Tutorial führt Sie durch das Datetime-Modul in Python und die Verwendung einiger Peripheriebibliotheken wie Pandas und Pytz. In Python wird alles, was mit Datum und Uhrzeit zu tun hat, vom datetime-Modul verarbeitet, das das Modul weiter in fünf verschiedene Klassen unterteilt. Klassen sind einfach Datentypen, die Objekten entsprechen. Die folgende Abbildung fasst die fünf Datetime-Klassen in Python zusammen mit häufig verwendeten Attributen und Beispielen zusammen. 3 nützliche Snippets 1. Konvertieren Sie einen String in das Datetime-Format, möglicherweise mit datet

Ausführliche Erklärung der Funktionsweise von Ansible Ausführliche Erklärung der Funktionsweise von Ansible Feb 18, 2024 pm 05:40 PM

Das Funktionsprinzip von Ansible kann aus der obigen Abbildung verstanden werden: Die Verwaltungsseite unterstützt drei Methoden: Lokal, SSH und Zeromq, um eine Verbindung zur verwalteten Seite herzustellen. Dieser Teil entspricht der Verbindung Im obigen Architekturdiagramm können Sie den Anwendungstyp HostInventory (Hostliste) verwenden, um entsprechende Vorgänge über verschiedene Module zu implementieren und einen einzelnen Befehl auszuführen -hoc; Der Verwaltungsknoten kann eine Reihe von Aufgaben über Playbooks implementieren, z. B. die Installation und Bereitstellung von Webdiensten, die Stapelsicherung von Datenbankservern usw. Wir können Playbooks einfach so verstehen, wie das System vergeht

Ansible Ad-Hoc (Peer-to-Peer-Modus) Ansible Ad-Hoc (Peer-to-Peer-Modus) Feb 18, 2024 pm 04:48 PM

Offizielle Dokumentation: https://docs.ansible.com/ansible/latest/command_guide/intro_adhoc.html Einführung Ein Ad-hoc-Befehl ist ein Befehl, der vorübergehend eingegeben und ausgeführt wird und normalerweise zum Testen und Debuggen verwendet wird. Sie müssen nicht dauerhaft gespeichert werden. Einfach ausgedrückt ist Ad-hoc ein „Sofortbefehl“. Häufig verwendete Module 1. Befehlsmodul (Standardmodul) Das Standardmodul ist nicht so leistungsfähig wie die Shell. Grundsätzlich kann das Shell-Modul die Funktionen des Befehlsmoduls unterstützen. 【1】Help ansible-doccommand# Es wird empfohlen, das folgende ansible-doccomm zu verwenden

See all articles