2017-09-04 4 views
0

Meine Projektstruktur ist:Individuelle Vermögenszusammenstellung in Ember.js

myProject 
       | 
       - ember app 
       | 
       - my addon 

ich ein Produkt entwickle, wo ich mit 3 oder mehr Produkte zu integrieren haben. Jede Integration erfordert nur bestimmte Funktionalitäten. Ich habe alle meine Funktionen als Komponenten in meinem Addon. Jetzt habe ich mein Addon in meiner Ember App installiert. Es gibt also einen Eintrag in package.json. Daher wird das gesamte Addon in der Datei vendor.js verfügbar sein. Zum Beispiel, wenn meine erste Produktintegration nur 3 Komponenten von meinem Addon benötigt, wird erwartet, dass ich nur diese 3 Komponentenabhängigkeiten gebe. Aber da ich Eintrag in package.json habe, gebe ich das ganze Addon. Ich möchte den Eintrag meines Addons aus meiner App package.json nehmen und nur die 3 Komponenten in eine Datei schreiben, nämlich ..., product1.js etc ... Für die nächste Integration werde ich nur die benötigten Komponenten auswählen diese Integration und schreibe es als produc2.js. Auf diese Weise kann ich die unnötigen Dinge im Skript entfernen. Und entsprechende Integration wird es als ein Skript von ihrem Ende aufnehmen. Gibt es also eine Möglichkeit, meine Anforderung zu erfüllen?

Antwort

0

Ja, es gibt, aber Sie müssen ein bisschen arbeiten, um es zu ermöglichen. Mit der Datei ember-cli-build.js müssen Sie Flags von der verbrauchenden App an Ihr Addon übergeben. Und dann müssen Sie in der Datei index.js Ihres Addons nach diesen Flags Ausschau halten und Broccoli verwenden, um nach den passenden Dateien zu filtern, die Sie in die Herstellerdatei aufnehmen möchten.

Es ist nicht allzu kompliziert, aber die Broccoli-Dokumentation ist im Moment relativ spärlich. Ich schlage vor, Videos von verschiedenen Konferenzen anzuschauen und andere Addons zu konsultieren, die es ähnlich machen.