Ich habe gerade begonnen, browserify zu betrachten, und frage mich, was ist die empfohlene Methode, um die Mindestversionen von Abhängigkeiten beim Erstellen für die Produktion und die Debug-Funktionen beim Entwickeln anzufordern?
Zum Beispiel habe ich das Tutorial hier - Ссылка gefolgt und bin mit den folgenden Dateien gelandet:
js \ main.js
%Vor%js \ names.js
%Vor%js \ findsuperman.js
%Vor%index.html
%Vor%package.json
%Vor%gruntFile.js
%Vor% Running npm run grunt
erstellt js / findem.js, das die Debug-Version des Unterstrich-Pakets enthält (und auch den Watcher startet).
Aber ich hätte auch gerne js / findem-min.js - die Min-Version, die für die Produktion gedacht ist und die Min-Version des Unterstrich-Pakets enthalten sollte.
Und hier sind ein paar Dinge, die ich verstehen muss. Tatsächlich:
require('underscore')
entspricht der Debug-Version. Es scheint nicht require('underscore-min')
zu sein. Scheint so, als müsste man auf require('underscore/underscore-min.js')
zurückgreifen. Habe ich Recht? Ich würde gerne wissen, ob ich die Punkte 1 und 3 richtig verstehe, aber ich habe keine Antwort für Punkt 2. Was ist der empfohlene Weg (die beste Übung, wenn Sie bitte), es zu tun? Ich hätte auch die Punkte 1 und 3 falsch bekommen können, also korrigiert mich bitte, wenn ich mich dort irre.
Ich habe seit Jahren kein browserify verwendet. Die meisten Leute benutzen jetzt Webpack. Das heißt, die von grunt an Browserify übergebenen Parameter steuern die Ausgabe. Ein "run" -Befehl wird normalerweise dem debug zugeordnet. Es wird einen separaten Befehl zum Erstellen von Produktionsdateien geben.
Für # 1 wollen Sie immer nur require schreiben ('Unterstrich'). Es ist Sache des Modul-Bundlers (browserify / webpack / etc), das neu zu schreiben / zu handhaben. Fügen Sie .js in Ihre Anforderungen ein, wenn Sie auf eine bestimmte Datei verweisen. Fügen Sie sie nicht ein, wenn Sie auf ein Modul außerhalb Ihres Projekts verweisen, z. B. Unterstriche.
Für # 2 hat Browserify ziemlich schlechte Dokumentation. Da Webpack hier im Wesentlichen genauso funktioniert, kann das Lesen der zugehörigen Dokumentation hilfreich sein, um dies herauszufinden. Ссылка
Für # 3 ist das korrekt. Der HTML-Code muss auf unterschiedliche .js-Dateien verweisen, abhängig davon, ob Sie sich in prod / debug befinden. Sie können es mit zwei Dateien fest codieren, wenn Sie eine statische Ausgabe wünschen. In den meisten Fällen wählen Sie jedoch normalerweise eine env-Variable. In anderen Fällen können ältere .js-Dateien für alte Browser usw. verwendet werden.
Viel Glück (und wechseln Sie zum Webpack:)
Tags und Links javascript browserify