2015-11-18 6 views
5

Ich erstelle ein Meteor-Paket für eine JS-Bibliothek, die eine Reihe von optionalen Plugins im Haupt-Repository enthält. Ich möchte dem Benutzer die Möglichkeit geben, auszuwählen, welche Bibliothekserweiterungen verwendet werden sollen, ohne sie immer unnötig einzuschließen.Wie erstellen Sie ein MeteorJS-Paket mit Build-Optionen für den Benutzer?

Ist dies mit dem aktuellen Build-System möglich? Wenn ja, wo fange ich an?

+1

Dumb & dirty Lösung: Erstellen Sie ein Paket pro Option. Ich werde froh sein, wenn jemand einen besseren findet! –

+0

Yeah wirklich nicht scharf auf diesen Ansatz, und wird zu einem Albtraum zu halten, ich hoffe, dass Theres einen besseren Weg. – pushplaybang

+0

Es gibt möglicherweise eine Möglichkeit, dies in einigen Fällen mit asynchronem Laden von Skripten zu tun, aber das wird eine ganze Sache, und wäre viel besser im Build zu behandeln. – pushplaybang

Antwort

1

Dies wird derzeit nicht unterstützt. In gewisser Hinsicht ist jedes Paket die "Option", die Sie über das Paketsystem selbst aktivieren. Ihre aktuelle beste Wette ist, nur Pakete für jedes Stück zu veröffentlichen und vielleicht Pakete für allgemeine Build-Kombinationen hinzuzufügen.

Twitter Bootstrap tut zur Zeit etwas Ähnliches wie so:

twbs:bootstrap   // normal bootstrap 
twbs:bootstrap-noglyph // bootstrap sans glpyhs 

Ebenfalls relevant, einige der (vielen) abgepackte Stift Pakete gibt:

stolinski:stylus-multi 
cryptoquick:stylus-multi 
mquandalle:stylus 

Ich freue mich auf diese Antwort alt werden.

+1

Beachten Sie, dass, wenn es mehr als ein paar Optionen gibt und sie zusammensetzbar sind, es komplett nicht mehr erreichbar ist. 5 zusammensetzbare Optionen sind 120 zu wartende Pakete. –

+0

@Kyll stimmte zu. Die andere Option besteht darin, alle Dinge in ein aufgeblähtes Paket aufzunehmen. – Jesse

+0

Es ist eigentlich ziemlich frustrierend, vielleicht werden Module es lösen, aber es ist ziemlich kritisch für viele Bibliotheken. Async könnte verwendet werden, wenn ein Paket initialisiert wird, aber es wird chaotisch, und dann hacken wir mit Assets, die etwas länger aussehen werden, aber das scheint die einzig gangbare Antwort zu sein. – pushplaybang