Was ist die Eigenschaft "Hauptdatei", wenn Sie Bower Init ausführen?
106
Was ist die Verwendung der Eigenschaftshauptdatei , wenn Sie bower init ausführen? Ich habe gesucht und viele Leute sagen, dass es derzeit keinen Zweck hat.
Ist das wahr? Bowers Dokumentation erklärt es auch nicht.
Es scheint auch andere zu geben, die davon verwirrt sind. Zum Beispiel der Autor dieses Bower-
Simon Bengtsson
Es scheint, dass die Definition der mainImmobilie derzeit in Frage steht und in einer offenen Ausgabe des Bower Github Repo diskutiert wird. Suchen Sie hier nach den aktuell vorgeschlagenen Definitionen und der Diskussion: github.com/bower/bower/issues/935
Die primären aktiven Dateien, die zur Verwendung Ihres Pakets erforderlich sind. Bower verwendet diese Dateien zwar nicht direkt, sie werden jedoch mit den Befehlen bower list --json und bower list --paths aufgelistet, sodass sie von Build-Tools verwendet werden können.
Präprozessor-Dateien wie CoffeeScript sollten kompiliert werden. Minimierte Dateien sollten nicht enthalten sein. Dateinamen sollten nicht versioniert werden (Bad: package.1.1.0.js; Good: package.js).
Ich denke, es ist mehr für die Paketverwaltung und Build-Tools wie Grunt und Brunch. Zum Beispiel bower.jsonsieht Bootstrap wie folgt aus:
Dies beantwortet die Frage nicht wirklich. In der Dokumentation wird die Rolle von "Die primären Endpunkte Ihres Pakets" nicht klargestellt. Sie haben die Relevanz von main für Brunch angegeben, aber nicht, wie es sich auf Bower bezieht.
BenjaminGolder
Ich denke, der Punkt, den ich anstrebte, ist, dass die Hauptdateien in mehreren Build-Tools verwendet werden, um "dies sind die Dateien, die mein Bower-Paket verteilen möchte". Es ist immer noch ein bisschen zweideutig zu seiner wahren Absicht.
Kelly J Andrews
Der Anker des Dokumentationslinks ist tot. Ein Update finden Sie in der Antwort von @Vivian Spencer.
Timothy Gu
9
Gemäß der JSON-Spezifikation von Bower ( https://github.com/bower/spec/blob/master/json.md#main ) wird die Eigenschaft "main" verwendet, um die hauptsächlich im Projekt verwendeten Dateien aufzulisten. Die aufgelisteten Dateien werden von Bower in keiner Weise verwendet, sie sind anscheinend dazu da, von anderen Build-Tools verwendet zu werden.
Hier ist die offizielle Spezifikation:
Main
Empfohlener
Typ: StringoderArray vonString
Die primären aktiven Dateien, die zur Verwendung Ihres Pakets erforderlich sind. Bower verwendet diese Dateien zwar nicht direkt, sie werden jedoch mit den Befehlen bower list --jsonund aufgelistet bower list --paths, sodass sie von Build-Tools verwendet werden können.
Präprozessor-Dateien wie CoffeeScript sollten kompiliert werden.
Fügen Sie keine minimierten Dateien hinzu.
Dateinamen sollten nicht versioniert werden (Bad: package.1.1.0.js; Good: package.js).
Einige Bibliotheken funktionieren einfach nicht ohne die aufgelisteten Hauptdateien. Wiredep ist das perfekte Beispiel.
Kboom
@kboom Ich habe möglicherweise das Problem im Zusammenhang mit dem, was Sie sagen: Zum Beispiel wird die CSS-Datei von pdf.js-viewer nicht mit main-bower-Dateien kopiert. Sollte ich sie in main in bower.json einfügen? Wenn ja, muss ich tatsächlich den gesamten Pfad für jede Datei angeben? Vielen Dank!
main
Immobilie derzeit in Frage steht und in einer offenen Ausgabe des Bower Github Repo diskutiert wird. Suchen Sie hier nach den aktuell vorgeschlagenen Definitionen und der Diskussion: github.com/bower/bower/issues/935Antworten:
Laut der Bower.io-Dokumentation
Ich denke, es ist mehr für die Paketverwaltung und Build-Tools wie Grunt und Brunch. Zum Beispiel
bower.json
sieht Bootstrap wie folgt aus:Wenn ich Brunch einbaue, werden diese Dateien aus meinem
bower_components
Ordner in meinempublic
Ordner abgerufen.quelle
Gemäß der JSON-Spezifikation von Bower ( https://github.com/bower/spec/blob/master/json.md#main ) wird die Eigenschaft "main" verwendet, um die hauptsächlich im Projekt verwendeten Dateien aufzulisten. Die aufgelisteten Dateien werden von Bower in keiner Weise verwendet, sie sind anscheinend dazu da, von anderen Build-Tools verwendet zu werden.
Hier ist die offizielle Spezifikation:
quelle