JavaScript -Implementierungen wurden immer komplexer, da das schöne Tier, das wir das Web nennen, jedes Jahr weiterentwickelt. Viele von uns arbeiten jetzt mit JavaScript -Modulen zusammen - unabhängig voneinander funktionierende Komponenten, die zusammenkommen, um als zusammenhängendes Ganze zu arbeiten, können jedoch gerne eine Komponente ersetzen lassen, ohne Armageddon zu verursachen. Viele von uns haben das AMD -Modulmuster verwendet und erfordern, dies ordentlich zu erreichen.
letztes Jahr schlug Browserify die Szene und brachte viel Aufregung auf. Während sich der Staub sich niedergelassen beginnt, wollte ich einen Überblick darüber schreiben, was Browserify ist, wie er funktioniert und einige Optionen zum Hinzufügen in Ihren Workflow.
Mit
Browserify können wir Node.js -Stilmodule im Browser verwenden. Wir definieren Abhängigkeiten und browserieren dann alles in eine einzelne ordentliche und ordentliche JavaScript -Datei. Sie schließen Ihre erforderlichen JavaScript -Dateien mit den Anweisungen ('./ yourfancyjsFile.js') ein und können auch öffentlich verfügbare Module von NPM importieren. Für Browserify ist es auch recht einfachImportieren von Modulen ist ein Segen. Anstatt eine Reihe von Websites zu besuchen, um Bibliotheken für Ihr JavaScript herunterzuladen, schließen Sie sie einfach mit Request () Anweisungen ein, stellen Sie sicher, dass die Module installiert wurden und Sie können loslegen. Häufig verwendete JavaScript -Bibliotheken wie JQuery, Undercore, Backbone und sogar Angular (als inoffizielle Verteilung) stehen zur Verfügung. Wenn Sie an einer Website arbeiten, auf der bereits Knoten ausgeführt werden, vereinfachen Sie die Dinge noch weiter, um alle Ihre JS zu strukturieren. Ich mag dieses Konzept wirklich.
Um mit Browserify zu beginnen, benötigen Sie das minimale, das Sie benötigen:
Um loszulegen, benötigen Sie auf Ihrem Computer einen Knoten und NPM installiert. Gehen Sie zu den obigen Links, wenn Sie nach Anleitungen suchen, um diese zu installieren. Wenn Sie total festgefahren sind, probieren Sie diese Anweisungen zur Installation von Node.js über Package Manager aus. Sie müssen keine Knotenarbeit ausführen, um Browserify zu verwenden. Wir installieren den Knoten ausschließlich, weil NPM davon ausführt. Sobald Sie NPM haben, können Sie Browserify mit dem folgenden Befehl installieren:
npm install -g browserify
Was wir hier tun, ist die Verwendung von NPM, um Browserify weltweit auf Ihrem Computer zu installieren (der -G fordert NPM an, ein Modul global zu installieren).
Wenn Sie einen Fehler erhalten, der mit Folgendem beginnt:
Error: EACCES, mkdir '/usr/local/lib/node_modules/browserify'
Dann haben Sie ein Erlaubnisproblem. Sie können den Befehl sudo sudo, aber ich empfehle stattdessen diesen Beitrag.
Beginnen wir zunächst eine browserifizierte JavaScript -Datei, die ein äußerst beliebtes Modul importiert, unterstrichen. Wir werden Unterstiche verwenden, um Superman aufzuspüren. Ich habe meine JS -Datei main.js angerufen und in meinem Projekt in einem JS -Ordner platziert.
Wir starten mit der Zuweisung der _ Variablen an Unterstrich mithilfe von Browserify -Anweisung () in unserem JavaScript:
<span>var _ = require('underscore');</span>
Als nächstes verwenden wir jede () und find () Funktionen von Unscore. Wir werden zwei Namen von Namen durchsuchen und eine Konsole ausführen. Log, um zu sagen, ob es Superman sieht oder nicht. Hoch fortgeschrittenes Zeug, von dem Lex Luthor nur träumen konnte. Unser letztes Javascript -Code sieht folgendermaßen aus:
<span>var _ = require('underscore'), </span> names <span>= ['Bruce Wayne', 'Wally West', 'John Jones', 'Kyle Rayner', 'Arthur Curry', 'Clark Kent'], </span> otherNames <span>= ['Barry Allen', 'Hal Jordan', 'Kara Kent', 'Diana Prince', 'Ray Palmer', 'Oliver Queen']; </span> _<span>.each([names, otherNames], function(nameGroup) { </span> <span>findSuperman(nameGroup); </span><span>}); </span> <span>function findSuperman(values) { </span> _<span>.find(values, function(name) { </span> <span>if (name === 'Clark Kent') { </span> <span>console.log('It\'s Superman!'); </span> <span>} else { </span> <span>console.log('... No superman!'); </span> <span>} </span> <span>}); </span><span>}</span>
Wir möchten sicherstellen, dass das Browserify das NPM -Modul finden kann, wenn es versucht, es unserem Projekt hinzuzufügen. Bei den bloßen Grundlagen geht es darum, Ihr Terminal zu öffnen, zu dem Ordner zu navigieren, der Ihr JavaScript -Projekt hält, und dann diesen Befehl auszuführen, um Undercore in diesem Ordner zu installieren:
npm install underscore
Für diejenigen, die mit der Funktionsweise von Knoten und NPM nicht vertraut sind, erstellt dies einen Ordner namens node_modules in Ihrem Projekt, der den Code für Ihr Unterzahnmodul enthält. Der Befehl ruft die neueste Version von Undercore aus dem NPM -Repository unter https://registry.npmjs.org/underscore ab. Mit diesem Modul in unserem Ordner node_modules kann Browserify es jetzt finden und verwenden.
Wenn wir Browserify ausführen, möchte es eine neue JavaScript -Datei mit allen angehängten Modulen erstellen. In diesem Fall erstellt es eine JavaScript -Datei mit Unterstrichen. Wir müssen uns für einen Namen für diese neue Datei entscheiden. Ich habe mich mit findem.js entschieden. Ich führe diesen Befehl aus dem Stammordner meines Projekts aus:
npm install -g browserify
Dieser Befehl liest Ihre main.js -Datei und gibt sie in die von der Option -o definierte Datei findem.js aus. Ich habe die Option -D so eingesetzt, dass sie auch eine Quellkarte für uns generiert. Auf diese Weise können wir Main.js debuggen und sauber als separate Dateien unterstreichen.
Von dort aus ist es so einfach, die Datei wie jede andere JS -Datei auf Ihre Seite aufzunehmen:
Error: EACCES, mkdir '/usr/local/lib/node_modules/browserify'
Es ist unwahrscheinlich, dass Ihre gesamte Anwendung aus Knotenmodulen stammt. Um Ihr eigenes JavaScript einzuschließen, können Sie die gleiche Erfordernisse () -Funktion verwenden. Die folgende Zeile von JavaScript importiert eine JS -Datei namens your_module.js in die GreatestModuleever -Variable:
<span>var _ = require('underscore');</span>
Um unser JavaScript wie dieses zu importieren, müssen wir nur unser JavaScript als Modul strukturieren. Dazu müssen wir modul.exports definieren. Eine Möglichkeit, dies zu tun, ist unten gezeigt.
<span>var _ = require('underscore'), </span> names <span>= ['Bruce Wayne', 'Wally West', 'John Jones', 'Kyle Rayner', 'Arthur Curry', 'Clark Kent'], </span> otherNames <span>= ['Barry Allen', 'Hal Jordan', 'Kara Kent', 'Diana Prince', 'Ray Palmer', 'Oliver Queen']; </span> _<span>.each([names, otherNames], function(nameGroup) { </span> <span>findSuperman(nameGroup); </span><span>}); </span> <span>function findSuperman(values) { </span> _<span>.find(values, function(name) { </span> <span>if (name === 'Clark Kent') { </span> <span>console.log('It\'s Superman!'); </span> <span>} else { </span> <span>console.log('... No superman!'); </span> <span>} </span> <span>}); </span><span>}</span>
Wenn Sie eine Reihe von JavaScript-Bibliotheken haben, die nicht in NPM sind und nach einer einfacheren Möglichkeit suchen, diese in Browserify zu bringen, können Sie das Browserify-Shim-NPM-Modul verwenden, um diese Dateien für Sie zu konvertieren . Wir werden es in diesem Artikel nicht verwenden, aber einige Entwickler könnten daran interessiert sein, dies auszuprobieren.
Um ein einfaches Beispiel dafür zu geben, wie dies funktioniert, werden wir die Arrays aus dem vorherigen Superhelden -Suchbeispiel herausnehmen und sie durch ein separates JS -Modul ersetzen, das ein Array von Namen zurückgibt. Das Modul sieht aus wie:
npm install underscore
Als nächstes importieren wir dieses Modul in unseren Code mit names = Request ('./ names.js'):
browserify js/main.js -o js/findem.js -d
Unsere Namensvariablen verweisen auf die exportierte Funktion aus unserem Modul. Daher verwenden wir die obige Namensvariable als Funktion mit Klammern, wenn wir das Array von Namen an unsere Funktion findsuperman () übergeben.
Führen Sie diesen Browserify -Befehl aus Ihrer Befehlszeile noch einmal aus, um ihn zu kompilieren, öffnen Sie ihn in Ihrem Browser und es sollte wie erwartet ausgeführt werden, jeden Wert im Array durchsuchen und sich anmelden, unabhängig davon, ob er Superman sieht oder nicht:
Um dieser ziemlich einfachen Superman -Jagd -App etwas mehr Komplexität zu verleihen, verwandeln wir unsere Funktion "Findsuperman () in ein Modul. Auf diese Weise konnten wir theoretisch Superman in verschiedenen Teilen unseres JavaScript finden und wir konnten unser Superman -Jagdmodul immer durch ein effektiveres in Zukunft ersetzen.
Wir können Variablen an unser Modul weitergeben und sie in unserer Funktion modul.exports verwenden, sodass wir ein Modul in einer Datei namens findSuperman.js erstellen, die erwartet, ein Array von Namen zu erhalten:
npm install -g browserify
Ich habe einen Rückgabewert für unsere Funktion für findSuperman () hinzugefügt. Wenn es Superman findet, wird es wahr zurückkehren. Ansonsten wird es falsch zurückgegeben. Es liegt an dem Code, in dem dieses Modul verwendet wird, um zu entscheiden, wofür er diesen wahren/falschen Wert verwendet. Es gibt jedoch eine Sache, die wir im obigen Modul fehlen. Wir verwenden Underscore in unserer Funktion, haben es aber nicht deklariert. Wir können es auch im Modul selbst deklarieren wie so:
Error: EACCES, mkdir '/usr/local/lib/node_modules/browserify'
Bei der Verwendung von Browserify werden alle Ihre JS -Dateien durchgesehen, die importiert werden, und importiert nur jedes Modul, das einmal erwähnt wird. Wir benötigen also Unterstrich in unserer Hauptdatei JS und in FindSuperman.js, aber wenn Browserify Packages alles aufpackt, wird es nur einmal in unsere endgültige JS -Datei eingebaut. Ziemlich ordentlich, richtig?
Unsere tatsächliche JavaScript -App wird jetzt unser neues Modul mit seinem neuen zurückgegebenen wahren/falschen Wert verwenden. Für Demo -Zwecke bleiben wir einfach an ein einfaches Dokument. Schreiben Sie, um zu sagen, ob es Superman aus unseren Namen gefunden hat:
<span>var _ = require('underscore');</span>
Wir müssen unterstreichen nicht mehr in unserer Haupt -JS -Datei importieren, damit Sie sie ohne Drama entfernen können. Es wird am Ende immer noch durch seine Aufnahme in die Datei findSuperman.js importiert.
Sagen Sie, Sie haben einen begeisterten Freund, der auch Ihren Code verwenden möchte. Es wäre ein bisschen schwer zu erwarten, dass sie wissen, dass sie zuerst das NPM -Unterstrich -Modul installieren müssen. Die Lösung hierfür ist es, eine Datei namens Package.json im Stamm Ihres Projekts zu erstellen. Diese Datei gibt Ihrem Projekt einen Namen (stellen Sie sicher, dass hier keine Leerzeichen im Namen enthalten sind), Beschreibung, Autor, Version und vor allem in unserem Fall - eine Liste von NPM -Abhängigkeiten. Für diejenigen, die sich mit Knoten entwickelt haben, verwenden wir hier genau das gleiche Zeug:
<span>var _ = require('underscore'), </span> names <span>= ['Bruce Wayne', 'Wally West', 'John Jones', 'Kyle Rayner', 'Arthur Curry', 'Clark Kent'], </span> otherNames <span>= ['Barry Allen', 'Hal Jordan', 'Kara Kent', 'Diana Prince', 'Ray Palmer', 'Oliver Queen']; </span> _<span>.each([names, otherNames], function(nameGroup) { </span> <span>findSuperman(nameGroup); </span><span>}); </span> <span>function findSuperman(values) { </span> _<span>.find(values, function(name) { </span> <span>if (name === 'Clark Kent') { </span> <span>console.log('It\'s Superman!'); </span> <span>} else { </span> <span>console.log('... No superman!'); </span> <span>} </span> <span>}); </span><span>}</span>
Die Liste der Abhängigkeiten ist derzeit auf unsere Single "Unterstrich" beschränkt: "1.6.x", bei der der erste Teil der Abhängigkeit der Name ist und der zweite Teil die Version ist. Neueste oder * wird die neueste Version NPM abrufen. Alternativ können Sie Zahlen wie 1.6 (für Version 1.6) und 1.6.x (für Versionen 1.6.0 bis, aber nicht einschließlich 1.7) einfügen.
.Wir können auch Browserify selbst als Abhängigkeit einbeziehen. Es ist jedoch keine Abhängigkeit für das Projekt - jeder Benutzer unserer App kann Superman finden, ohne Browserify auszuführen. Es ist eine unserer DevDependenzen - Module, die für Entwickler erforderlich sind, um Aktualisierungen dieser App zu machen.
Jetzt haben wir eine Paket.json -Datei, wir müssen unseren Freund nicht dazu bringen, NPM zu installieren. Sie können einfach die NPM -Installation ausführen und alle notwendigen Abhängigkeiten werden in ihren Ordner node_modules installiert.
Browserify in der Befehlszeile jedes Mal, wenn Sie die Datei ändern, ist ärgerlich und überhaupt nicht bequem. Zum Glück stehen einige Optionen zur Automatisierung des Ausführens von Browserify zur Verfügung.
npm selbst kann Befehlszeilenskripte ausführen, genau wie die, die Sie manuell eingegeben haben. Geben Sie dazu einfach einen Skripteabschnitt in Ihr Paket ein. Json wie SO:
npm install -g browserify
Um das auszuführen, können Sie Folgendes in Ihre Befehlszeile eingeben:
Error: EACCES, mkdir '/usr/local/lib/node_modules/browserify'
Aber das ist nicht bequem genug. Wir müssen diesen Befehl immer noch jedes Mal manuell ausführen. Das ist ärgerlich. Eine bessere Option ist die Verwendung eines NPM -Moduls namens Watchify. Watchify ist einfach, es ist einfach und es ist eine große Zeitsparung. Es wird nach Änderungen an Ihrem JS und nach dem automatischen Wiederaufführen von Browserify.
Um dies in unser paket.json zu bringen, werden wir es unseren DevDependenzen hinzufügen und ein neues Skript zum Anschauen unseres JS aufnehmen (lassen Datei).
<span>var _ = require('underscore');</span>
Um dies auszuführen, geben Sie einfach den folgenden Befehl ein.
<span>var _ = require('underscore'), </span> names <span>= ['Bruce Wayne', 'Wally West', 'John Jones', 'Kyle Rayner', 'Arthur Curry', 'Clark Kent'], </span> otherNames <span>= ['Barry Allen', 'Hal Jordan', 'Kara Kent', 'Diana Prince', 'Ray Palmer', 'Oliver Queen']; </span> _<span>.each([names, otherNames], function(nameGroup) { </span> <span>findSuperman(nameGroup); </span><span>}); </span> <span>function findSuperman(values) { </span> _<span>.find(values, function(name) { </span> <span>if (name === 'Clark Kent') { </span> <span>console.log('It\'s Superman!'); </span> <span>} else { </span> <span>console.log('... No superman!'); </span> <span>} </span> <span>}); </span><span>}</span>
Es wird seine Magie rennen und arbeiten. Es sagt jedoch nicht viel aus, Sie wissen zu lassen, was los ist, was verwirrend sein kann. Wenn Sie es bevorzugen, um Ihnen Details darüber zu geben, was es tut
npm install underscore
browserify js/main.js -o js/findem.js -d
<span><span><span><script</span> src<span>="js/findem.js"</span>></span><span><span></script</span>></span></span>
greatestModuleEver <span>= require('./your_module.js');</span>
Wir müssen unsere Paket.json -Datei ändern, um Grunzen zu verwenden. Wir werden den Abschnitt "Skripte" nicht mehr verwenden und uns stattdessen darauf verlassen. Stattdessen fügen wir ein paar neue DevDependenzen hinzu:
module<span>.exports = function(vars) { </span> <span>// Your code </span><span>}</span>
module<span>.exports = function() { </span> <span>return ['Barry Allen', 'Hal Jordan', 'Kara Kent', 'Diana Prince', 'Ray Palmer', 'Oliver Queen', 'Bruce Wayne', 'Wally West', 'John Jones', 'Kyle Rayner', 'Arthur Curry', 'Clark Kent']; </span><span>}</span>
<span>var _ = require('underscore'), </span> names <span>= require('./names.js'); </span> <span>findSuperman(names()); </span> <span>function findSuperman(values) { </span> _<span>.find(values, function(name) { </span> <span>if (name === 'Clark Kent') { </span> <span>console.log('It\'s Superman!'); </span> <span>} else { </span> <span>console.log('... No superman!'); </span> <span>} </span> <span>}); </span><span>}</span>
module<span>.exports = function (values) { </span> <span>var foundSuperman = false; </span> _<span>.find(values, function(name) { </span> <span>if (name === 'Clark Kent') { </span> <span>console.log('It\'s Superman!'); </span> foundSuperman <span>= true; </span> <span>} else { </span> <span>console.log('... No superman!'); </span> <span>} </span> <span>}); </span> <span>return foundSuperman; </span><span>}</span>
<span>var _ = require('underscore'); </span> module<span>.exports = function (values) { </span> <span>...</span>
lautet
npm install -g browserify
Unsere Browserify -Einstellungen werden als nächst
Error: EACCES, mkdir '/usr/local/lib/node_modules/browserify'
<span>var _ = require('underscore');</span>
Erzeugen von Quellkarten in Grunzen
<span>var _ = require('underscore'), </span> names <span>= ['Bruce Wayne', 'Wally West', 'John Jones', 'Kyle Rayner', 'Arthur Curry', 'Clark Kent'], </span> otherNames <span>= ['Barry Allen', 'Hal Jordan', 'Kara Kent', 'Diana Prince', 'Ray Palmer', 'Oliver Queen']; </span> _<span>.each([names, otherNames], function(nameGroup) { </span> <span>findSuperman(nameGroup); </span><span>}); </span> <span>function findSuperman(values) { </span> _<span>.find(values, function(name) { </span> <span>if (name === 'Clark Kent') { </span> <span>console.log('It\'s Superman!'); </span> <span>} else { </span> <span>console.log('... No superman!'); </span> <span>} </span> <span>}); </span><span>}</span>
gulp
Um das oben genannte in Gulp zu erledigen, werden wir zunächst Gulp global installieren:
Wir werden unsere Paket.json -Datei aktualisieren, um einige neue DevDependenzen zu enthalten, die wir benötigen:
npm install underscore
Wir haben Folgendes hinzugefügt:
browserify js/main.js -o js/findem.js -d
Watchify - Wir haben dies auch im NPM -Beispiel verwendet. Gleiches Modul.
Wir erstellen dann eine Datei namens Gulpfile.js im Stammpunkt unseres Projekts. Hier geht die gesamte Gulp -Funktionalität:
Wir beginnen mit dem Importieren in unseren NPM -Modulen, die ziemlich selbsterklärend sind. Wir setzen dann drei Variablen für unseren Build:
<span><span><span><script</span> src<span>="js/findem.js"</span>></span><span><span></script</span>></span></span>
Ich werde den Code im Folgenden ein wenig detaillierter erläutern.
Unsere erste Aufgabe ist unser Browserify, das wir so definieren:
npm install -g browserify
Es gibt zuerst unsere Main.js -Datei in das Browserify -NPM -Modul:
übergeben:Error: EACCES, mkdir '/usr/local/lib/node_modules/browserify'
Wir verwenden dann die Browserify -Streaming -API, um einen lesbaren Stream mit unserem JavaScript -Inhalt zurückzugeben:
<span>var _ = require('underscore');</span>
Von dort aus putzen wir sie in eine Datei mit dem Dateinamen findem.js und dann durch, um in unseren JS -Ordner zu versetzen.
<span>var _ = require('underscore'), </span> names <span>= ['Bruce Wayne', 'Wally West', 'John Jones', 'Kyle Rayner', 'Arthur Curry', 'Clark Kent'], </span> otherNames <span>= ['Barry Allen', 'Hal Jordan', 'Kara Kent', 'Diana Prince', 'Ray Palmer', 'Oliver Queen']; </span> _<span>.each([names, otherNames], function(nameGroup) { </span> <span>findSuperman(nameGroup); </span><span>}); </span> <span>function findSuperman(values) { </span> _<span>.find(values, function(name) { </span> <span>if (name === 'Clark Kent') { </span> <span>console.log('It\'s Superman!'); </span> <span>} else { </span> <span>console.log('... No superman!'); </span> <span>} </span> <span>}); </span><span>}</span>
Wir nehmen unsere Eingaben im Grunde über verschiedene Phasen, die in unser endgültiges Projekt auftreten, das eine glänzende neue JavaScript -Datei sein sollte!
Wie zuvor gelernt, ist es ein wenig ärgerlich, Browserify direkt zu verwenden, da es bei der Aktualisierung der Datei viel einfacher ausgeführt wird. Dazu verwenden wir das Watchify NPM -Modul erneut.
Wir beginnen zunächst eine Aufgabe namens Watch (Sie können es Watchify nennen, wenn Sie möchten ... es liegt wirklich hier an Ihnen):
npm install underscore
Wir weisen das Bundler -Variable das Watchify -Modul zu, da wir es zweimal verwenden:
browserify js/main.js -o js/findem.js -d
Wir fügen dann einen Ereignishandler hinzu, der eine Funktion namens Rebundle () ausführt, wenn das Update -Ereignis aufgerufen wird. Im Grunde genommen wird Rebundle ():
<span><span><span><script</span> src<span>="js/findem.js"</span>></span><span><span></script</span>></span></span>
Also, was ist Rebundle ()? Es ist ziemlich genau das, was unsere Browserify -Aufgabe oben getan hat:
greatestModuleEver <span>= require('./your_module.js');</span>
Es wäre möglich, sowohl Browserify als auch in einer scharfen JavaScript -Optimierung zusammenzuführen, aber ich habe beschlossen, sie in diesem Artikel getrennt zu belassen, um die Dinge einfach zu halten. Für ein beeindruckenderes und komplexeres Beispiel dafür finden Sie die Starter -Gulp -Datei von Dan Tello.
Um unsere gulpfile.js zu beenden, definieren wir unsere Standardaufgabe, die genauso funktioniert wie die Standardaufgabe in Grunt.
module<span>.exports = function(vars) { </span> <span>// Your code </span><span>}</span>
Um den obigen Gulp -Code auszuführen, haben Sie drei Optionen. Der einfachste Weg ist es, diese von Ihnen er sich gelegene Standardaufgabe auszuführen, für die nur ein Wort in der Befehlszeile erforderlich ist:
module<span>.exports = function() { </span> <span>return ['Barry Allen', 'Hal Jordan', 'Kara Kent', 'Diana Prince', 'Ray Palmer', 'Oliver Queen', 'Bruce Wayne', 'Wally West', 'John Jones', 'Kyle Rayner', 'Arthur Curry', 'Clark Kent']; </span><span>}</span>
, damit die Browserify -Aufgabe einmal ausgeführt wird, und die Watch -Aufgabe beginnt die Dateien nach Änderungen zu beobachten.
Sie können Ihre Browserify -Aufgabe auch speziell ausführen:
<span>var _ = require('underscore'), </span> names <span>= require('./names.js'); </span> <span>findSuperman(names()); </span> <span>function findSuperman(values) { </span> _<span>.find(values, function(name) { </span> <span>if (name === 'Clark Kent') { </span> <span>console.log('It\'s Superman!'); </span> <span>} else { </span> <span>console.log('... No superman!'); </span> <span>} </span> <span>}); </span><span>}</span>
oder Ihre Uhrenaufgabe:
module<span>.exports = function (values) { </span> <span>var foundSuperman = false; </span> _<span>.find(values, function(name) { </span> <span>if (name === 'Clark Kent') { </span> <span>console.log('It\'s Superman!'); </span> foundSuperman <span>= true; </span> <span>} else { </span> <span>console.log('... No superman!'); </span> <span>} </span> <span>}); </span> <span>return foundSuperman; </span><span>}</span>
Um eine Quellkarte für Ihr JavaScript zu generieren, enthalten Sie {Debug: True} in beiden Bündel () -Funktionen.
Unsere Browserify -Aufgabe würde so aussehen:
<span>var _ = require('underscore'); </span> module<span>.exports = function (values) { </span> <span>...</span>
Die Funktion rebundle () in unserer Uhrenaufgabe würde so aussehen:
npm install -g browserify
Es sind noch ziemlich frühe Tage für Browserify und es wird sich im Laufe der Zeit sicherlich entwickeln und reif. In seinem aktuellen Zustand ist es bereits ein sehr praktisches Werkzeug, um Ihr modulares JavaScript zu strukturieren, und ist besonders brillant für diejenigen, die den Knoten im Backend verwenden. Der Code wird für Knotenentwickler viel sauberer, wenn sie NPM -Module sowohl am vorderen als auch am hinteren Ende eines Projekts verwenden. Wenn Sie Browserify noch keinen Aufschlag gegeben haben, versuchen Sie es in Ihrem nächsten JavaScript -Projekt und prüfen Sie, ob es Ihre Welt rockt.
Es gibt eine Menge anderer Browserify -Ressourcen. Ein paar praktische Teile, die Sie sich vielleicht ansehen möchten:
Wie kann ich Browserify installieren? Paketmanager). Der Befehl hierfür ist "NPM Install -g -Browserify". Nach der Installation können Sie es aus der Befehlszeile verwenden, um Ihre JavaScript -Dateien zu bündeln.
Wie kann ich meinen gebündelten Code debuggen? Karten, die Ihnen helfen können, Ihren gebündelten Code zu debuggen. Um eine Quellkarte zu generieren, können Sie die Option "–Debug" in Ihrem Browserify -Befehl verwenden. Dies enthält Quellzuordnungsdaten in Ihr Bundle, die dann von den Entwickler -Tools des Browsers verwendet werden können, um Ihren Code zu debuggen. 🎜> Ja, Sie können Browserify mit Aufgabenläufern wie Gulp oder Grunzen verwenden. Sowohl Gulp als auch Grunt haben Plugins zur Verfügung, mit denen Browserify in Ihren Build -Prozess integriert werden kann. Dies kann dazu beitragen, Ihre JavaScript -Dateien zu bündeln.
Das obige ist der detaillierte Inhalt vonErste Schritte mit Browserify. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!