2015-03-21 4 views
8

Gibt es in Meteor eine Möglichkeit, ein Paket anzugeben, das nur in der Entwicklungsumgebung oder nur in der Produktionsumgebung verwendet werden soll? Wenn ich Pakete über astmospherejs.com hinzufüge, werden sie alle in der .meteor/packages Datei chronologisch sortiert nach Zeit hinzugefügt. Im Grunde bin ich auf der Suche nach einem Ruby Gemfile, wo Sie verschiedene Umgebungen angeben können. Vielen Dank!Meteor - Verwendung eines Pakets in Dev oder nur in der Produktion

+3

Nun, in der 'Package.describe' Rückruf (' package.js'-Datei) können Sie einstellen 'debugOnly: true', um das Paket nicht bereitstellen, wenn mit' Meteor deploy', zum Beispiel, um einen Collection-Populationscode zu verwenden, den Sie nicht in prod verwenden möchten. Hoffe es wird helfen! –

+0

Nützlich. Leider ist dies [noch nicht dokumentiert] (https://github.com/meteor/meteor/issues/3843). Ich suche ein "productionOnly", aber das scheint nicht zu existieren. – foobarbecue

Antwort

7

Hier ist ein kleiner Trick, ich nur ein Paket in der Entwicklung zu laufen habe mit:

  1. von Ihrer App Wurzel, ein leeres Paket erstellen (oder zu Ihrem PACKAGE_DIRS Verzeichnis hinzugefügt werden): meteor create --package my-package-manager

  2. In package.js:

    Package.on_use(function(api) { 
        // production only 
        if (process.env.IS_PRODUCTION) { 
        api.use('some:package'); 
        } 
        // dev only 
        if (process.env.IS_DEVELOPMENT) { 
        api.use('devonly:package'); 
        } 
    }); 
    
  3. On-Umgebung dev: echo "export IS_DEVELOPMENT=true" >> ~/.bash_profile (oder ~/.zshrc in meinem Fall)

  4. Dann natürlich die gleiche Sache für IS_PRODUCTION auf was auch immer Sie für Produktionsserver verwenden. auf Heroku zum Beispiel: heroku config:set IS_PRODUCTION=true

ich dies für ein dev-Paket nur bin mit, hat versucht, es nicht mit produktions nur, aber es sollte funktionieren.

+1

Danke für diesen nützlichen Tipp. Meteor fehlt die Flexibilität von Gemfile. Zu diesem Zweck können Sie auch 'process.env.NODE_ENV' verwenden. –

0

Ab Meteor Version 1.3.2 können Sie einfach die Flagge prodOnly oder debugOnly setzen.

Mehr Infos here

Verwandte Themen