Unterschied zwischen einem Modul und einer Bibliothek in JavaScript

8

Ich lerne ES6-Module. Aber ich bin verwirrt, was ist der Unterschied zwischen einem Modul und einer Bibliothek.

Und auch, wie Modul und Bibliothek anders ist als ein node.js Paket.

    
Narayan Prusty 10.07.2015, 11:29
quelle

1 Antwort

8

Ein Modul ist eine Softwareeinheit. Dies bezieht sich - abhängig vom Kontext - auf einen eigenständigen Teil des Quellcodes, auf die Datei, in der er sich befindet, oder auf das Modulobjekt (Datenstruktur), das der Code deklariert (oder generiert, wenn er ausgeführt wird).
Normalerweise gibt es eine 1: 1: 1-Beziehung zwischen diesen, und das ist eine gute Übung. Sie finden selten mehrere Module in der gleichen Quelldatei 1 . ES6-Implementierungen werden dies erzwingen, indem sie einzelne Dateien als einzelne Module verwenden, die mit ihrem eindeutigen Namen importiert werden können - so wie es zuvor mit gearbeitet hat CommonJS oder AMD Module.
Neben ES6-Modulen gab es auch das -Modulmuster , das IIFEs verwendet, um Code zu kapseln und Singleton-Objekte zu erzeugen. Siehe Wie heißt dieses JavaScript-Muster und warum wird es verwendet? , hier oder dem JS-Entwurfsmuster Buch für Details.
Und da Modularität so wichtig ist, gab es viele Ansätze zur Implementierung von Modulladern , von denen jeder seine eigene Syntax und Feinheiten hat und oft Teil eines größeren Frameworks ist. Weitere Informationen finden Sie in diesem Artikel .

Eine Bibliothek ist eine Sammlung nützlicher Dinge, die zusammengehören und als Ganzes verteilt sind. Dies kann mehr als reiner Quellcode oder mehr als eine Sprache umfassen, aber typischerweise nicht, wenn wir von einer "Javascript-Bibliothek" sprechen. Eine Bibliothek, bestehend aus einer Reihe von js-Funktionen, exportiert sie normalerweise als Modul.

1: Außer wenn sie zu einem einzigen Skript verkleinert wurden. Außerdem könnte HTML5 Möglichkeiten zur Deklaration von Inline-ES6-Modulen einführen.

    
Bergi 10.07.2015, 11:59
quelle

Tags und Links