2014-09-01 5 views
6

Wenn der Bau Meteor-Pakete können Sie Dateien wie folgt hinzu:Wenn ich api.imply in package.js verwende, muss ich api.use für das gleiche Paket verwenden?

api.use('fourseven:[email protected]', ['client', 'server']); 

Sie können auch Meteor sagen das Paket Benutzer Zugriff auf andere Pakete wie folgt zu erhalten:

api.imply('fourseven:[email protected]', ['client', 'server']); 

In der Dokumentation ist es nicht klar, wenn implying ein Paket auch zur Verfügung stellt. Zum Beispiel, ich bin nicht sicher, ob es überflüssig ist, dies zu tun:

api.use('fourseven:[email protected]', ['client', 'server']); 
api.imply('fourseven:[email protected]', ['client', 'server']); 

Antwort

4

ich diesen Anwendungsfall nur getestet habe mit ein paar Pakete von mir und ich kann behaupten, daß ein Paket damit nicht sagen, es macht automatisch in der Paketquelle verfügbar.

So bedeutet es, dass

api.use("foo:[email protected]"); 
api.imply("foo:[email protected]"); 

nicht überflüssig ist, wenn Sie beabsichtigen, foo:bar in der aktuellen Paketquelle zu verwenden und verweisen.

Sie können sich api.imply als api.use für den App-Kontext vorstellen, der keine Auswirkungen auf den aktuellen Paketkontext hat.

Ich habe gehört, dass irgendwann in der Zukunft, die sie planen, ein Paket-ähnliche API für den App Kontext zu integrieren, was nützlich sein wird Last um unter anderem zu adressieren.

+1

Diese "paketartige API für den App-Kontext" befindet sich jetzt in Meteor 1.3 (Beta zum Zeitpunkt des Schreibens), und es handelt sich um NPM-Pakete. Sie können jetzt 'npm 'alles im App-Root installieren, und' require() 'oder' import' (es6) alles in Ihren App-Code. Mit diesem Mechanismus können Sie die Ladereihenfolge über das neue 'modules'-Paket steuern. – trusktr

Verwandte Themen