2013-05-20 22 views
7

Meteor überwacht das Verzeichnis des aktuellen Projekts auf Dateiänderungen, damit der Server automatisch neu gestartet werden kann.Ausschließen von Verzeichnissen/Dateien aus dem Bundle von Meteor

Als mein Projekt in der Größe wuchs, bemerkte ich, dass die Zeit für jede "Aktualisierung" von ~ 1 Sekunden auf 8+ Sekunden gestiegen ist.

Ich bin dabei, einige Dateien und Verzeichnisse auszuschließen, und ich frage mich, ob ich app/lib/bundler.js bearbeiten sollte oder ob es einen besseren Weg gibt.

Danke.

+0

Bearbeiten Sie eine Live-Meteor-App (erstellt mit Meteor Bundle xxx)? Bearbeiten Sie die Dateien oder Änderungen am Dateisystem durch Ihre App (z. B. Datei-Uploads)? – Akshat

+3

fügen ~ zum Ende des Ordners wie Modelle ~ hinzu, wird es als statisch behandeln? – crapthings

+0

Sry, ich bearbeite keine Live-Meteor-App. Nur mit dem Meteor-Cmd entwickeln. Ich denke, ich war mit einer anderen Antwort verwirrt, also ist das Bearbeiten von Bundler.js nicht der richtige Weg. – Dave

Antwort

10

Der Bündler (tools/bundler.js) hat eine Liste von regexps, die es ignoriert:

// files to ignore when bundling. node has no globs, so use regexps 
var ignore_files = [ 
    /~$/, /^\.#/, /^#.*#$/, 
    /^\.DS_Store$/, /^ehthumbs\.db$/, /^Icon.$/, /^Thumbs\.db$/, 
    /^\.meteor$/, /* avoids scanning N^2 files when bundling all packages */ 
    /^\.git$/ /* often has too many files to watch */ 
]; 

Ein weiterer Ansatz ist es, die Dateien in einem Verzeichnis test zu platzieren. Sofern Sie nicht aufgefordert werden, Tests zu bündeln, ist dies ausgeschlossen.

Ein letzter Ansatz ist, Dateien in das Verzeichnis packages zu legen. Ich glaube nicht, dass Sie sogar eine Stub package.js Datei benötigen.

Beide Optionen sind ein wenig hacky, aber perfekt zu warten.

Ich denke, es wäre schön, wenn es so etwas wie .meteorignore ähnlich wie .gitignore wäre.

+0

Danke, ich hatte ein bisschen Mühe, Bundler.js zu finden. Jetzt habe ich es. Es ist unter Tools/im Meteorit-Repository. – Dave

+0

Sorry, ist eine Möglichkeit, dies zu bearbeiten? –

+1

Eine Alternative, die ich benutzte, war, die Meteor App in 'app /' zu verschieben und 'bower_components' als Geschwister zu haben. Das 'RTD'-Testrahmenwerk fragt nach dem gleichen Setup. –

12

Eine andere Möglichkeit besteht darin, Ordner, die Sie ausschließen möchten, mit einem Punkt voranzustellen.

+0

Tolle Lösung, wenn Sie wollen, dass der ganze Ordner im Wurzelverzeichnis wie ein .tmp- oder .bak-Ordner versteckt ist. – Precastic

Verwandte Themen