2016-12-26 3 views
8

In einer bower.json Datei, was sind die resolution und overrides Eigenschaften für?Was sind Auflösungen und Überschreibungen in einer `bower.json` Datei?

{ 
    "name": "name", 
    "dependencies": { 
    "angular": "~1.4.8", 
    ... 
    "jquery": "2.2.4" 
    }, 
    "overrides": { 
    "ionic": { 
     "main": [ 
     "release/js/ionic.js", 
     "release/js/ionic-angular.js" 
     ] 
    } 
    }, 
    "resolutions": { 
    "angular-ui-router": "~0.2.15", 
    "angular": "~1.5.3" 
    } 
} 

Antwort

6

Auflösung

Die Auflösung Abschnitt erscheint, wenn Sie Abhängigkeits Versionen lösen müssen (nach bower install), wenn Konflikte auftreten. Es dient dazu, eine Entscheidung darüber zu treffen, welche konkrete Version einer Abhängigkeit verwendet werden soll, wenn die Notwendigkeit besteht, Abhängigkeitskonflikte zu lösen - Bower injiziert diese Entscheidung automatisch als "Auflösungs" -Datensatz. Wenn also das nächste Mal ein Konflikt auftritt (beim Aktualisieren der Abhängigkeitsstruktur usw.), basiert die gelöste Version auf den "Auflösungsdaten" in Ihrer Konfigurationsdatei.

An example dependency version conflict resolution prompt. The text in the image states: "Unable to find a suitable version for ember, please choose one: 1) ember#~1.0.0 which resolved to 1.0.1 and is required by ember-data#0. 2) ember#1.5.1 which resolved to 1.5.1 and required by melodrama"

Überschreibungen

Überschreibungen Abschnitt wird verwendet, um die Datei (en) Verweise außer Kraft zu setzen, wenn die abhängigen Bibliothek zeigt.

In den meisten Fällen verwenden Task-Runner die Metadaten der Bower-Konfigurationsbibliothek, um Links zu diesen Bibliotheken in den Inhalt einer Seite einzufügen. Wenn wir einen Bootstrap-Link in eine Seite einfügen möchten, müssen wir nicht in den Ordner "bower_components" gehen, das Paket suchen und den Dateiinhalt untersuchen. Wir können die Komponentenmetadaten verwenden, um die wichtigste injizierbare Dateireferenz zu finden.

Der Abschnitt "Überschreibungen" wird verwendet, um diese Daten so zu ändern, dass eine andere Datei oder sogar eine Gruppe von Dateien als Haupteinstiegspunkt des Pakets verwendet wird.

An example overrides section configuration for the bootstrap-sass-official package.

+0

Frage: Muss ich Resolutionen verwenden, wenn ich die gewünschte Version bereits in den Abhängigkeiten angegeben habe? –

0

Wir verwenden Auflösungen in Ihrem bower.json Datei-Objekt den Namen der Komponente & Version angeben, die automatisch den Konflikt zu lösen, wenn Bower Befehle ausführen.

Der Abschnitt Überschreibungen wird verwendet, um die Referenzen der Datei (en) zu überschreiben, wenn auf die abhängige Bibliothek verwiesen wird.

2

Mehrere Bower-Pakete können verschiedene Versionen derselben Bibliothek als Abhängigkeit auflisten. Der Abschnitt resolutions gibt an, welche Version der Bibliothek verwendet werden soll, wenn diese Art von Situation auftritt. Wenn nicht in bower.json angegeben, erhalten Sie eine Befehlszeilenaufforderung beim Ausführen von bower install.

Der Abschnitt overrides ermöglicht das Überschreiben von Standardpfaden für Assets, die über Bower installiert werden, wenn ein Task-Runner wie Gulp verwendet wird. Wenn Sie beispielsweise Dateien aus dem Standardverzeichnis im Ordner bower_components verschieben möchten, um den Build-Prozess zu unterstützen, könnte es sich bei dieser Art der Einrichtung als nützlich erweisen.

Verwandte Themen