2012-12-21 10 views
16

Es ist sicherlich sinnvoll, modularen, unabhängigen testbaren Code zu schreiben - besonders für große Projekte.Warum sollte ich require.js verwenden, wenn ich immer noch alle Dateien auf dem Build erhalte?

Aber welcher Unterschied macht mit require.js/amd in einem großen Projekt zu machen, wo ich noch & minify mein Projekt auf Build concenate?

+1

Statt für Schließen zu stimmen, bitte mich verstehen, wie ich dieses Konzept überhaupt nicht bekomme – Industrial

+1

Ich denke, dass es keine Notwendigkeit dafür gibt. Ich nehme an, dass require.js in einer Entwicklungsumgebung verwendet werden kann, aber in der Produktion ist es wahrscheinlich nutzlos. – omninonsense

Antwort

6

Ich möchte meine Antwort mit dem Vorwort vortragen, dass ich glaube, dass Require.JS ein völlig nutzloser Rahmen ist. Es kompliziert ein ziemlich einfaches Konzept.

Das heißt, das Laden von Abhängigkeiten ist sehr nützlich, wenn es darum geht, plattformunabhängigen Code zu schreiben.

Angenommen, Sie möchten eine Webanwendung entwickeln, die Sie auch in Apache Cordova für mobile Apps und in AppJS für Desktopanwendungen portieren können. Sie möchten nicht alle Ihre Geschäftslogik neu schreiben, daher ist es sinnvoll, einen Bootstrap zu erstellen, der Abhängigkeiten dynamisch lädt, um die Software an mehrere Architekturen anzupassen. Auf diese Weise haben Sie nur ein Produkt, das auf einer Vielzahl von Plattformen laufen kann. Fügen Sie die Verwendung von NodeJS für serverseitiges Skript hinzu, und Sie können nicht nur Front-End-Software schreiben, sondern Back-End mit dem exakt gleichen Code.

Modularität hilft viel mit plattformübergreifenden Projekten, aber wie gesagt: Require.JS ist wirklich nicht so nützlich. Ich fand es zu kompliziert. Stattdessen verwende ich einfach ein Objekt, das um die jQuery-Funktion getScript aufgebaut ist, die eine Registrierung aller geladenen Pakete enthält, so dass ein Entwickler nicht versucht, ein bereits geladenes Paket zu laden (größere Projekte).

1

Es gibt eine Reihe von Vorteilen auf require.js, wie:

  • Bedingtes Laden
  • Asynchronous Laden
  • Logical Module
  • Abstraction verschachtelter Abhängigkeiten
  • Multiversion Unterstützung
  • Automatische Vereinheitlichung
0

Require.js empfiehlt die Verwendung von einem (oder mehreren, wenn das zu Ihrem Projekt passt) einer JS-Datei in der Produktion für Ihr JavaScript, was Sie also für kleinere Projekte tun. Ich denke, es gibt zwei Hauptgründe für kleine Projekte, die Sie verwenden würden (@Wolfgang Stengel listet alle Vorteile auf).

Wenn Sie jQuery oder andere Bibliotheken in Ihrer JS-Datei kombinieren, ist das möglicherweise nicht das Richtige. Wenn Sie eine CDN-Kopie verwenden können, ist es wahrscheinlich, dass der Benutzer diese Datei bereits auf seinem Computer heruntergeladen hat, wodurch das Laden Ihres JavaScript weniger Zeit in Anspruch nimmt.

Ein weiterer Vorteil ist das asynchrone Laden. Dadurch wird Ihr JavaScript-Laden das Rendern Ihrer Webseite nicht blockieren. Eine Webseite, die schneller erscheint, wird im Allgemeinen als schnellere Website für den Endbenutzer angesehen.