2012-05-03 20 views
30

Mam bibliotekę opartą na JavaScript Chciałbym dołączyć do aplikacji Meteor JS. Kod źródłowy biblioteki znajduje się w repozytorium Git i chciałbym włączyć repozytorium jako moduł podtytułu w moim repozytorium kodu źródłowego dla mojej aplikacji Meteor. Jednak nie potrzebuję większości plików zawartych w przetwarzaniu Meteor, tylko kilka wybranych. Rzeczywiście barfuje Meteor z "Błąd: Nie można przetworzyć .. um ... jakiś plik HTML, w pewnym wierszu." Przepraszam ", gdy widzi wiele plików w module.Ignorowanie plików w katalogu projektu Meteor JS

Czy istnieje sposób selektywnej białej listy lub czarnej listy plików do włączenia do aplikacji Meteor w katalogu projektu? Oprócz tworzenia inteligentnego pakietu, istnieją sposoby, w jakie mogę dołączyć zewnętrzne zasoby, takie jak submodules Git w moim katalogu projektu aplikacji Meteor.

Aktualizacja: jak wyjaśniono w pokrewnym pytaniu na temat "How to create a package", jeśli utworzysz inteligentny pakiet w lokalnym kasie Git samego Meteera, otrzymasz zachowanie podczas ponownego ładowania kodu w pakiecie.

Odpowiedz

34

Oprócz katalogu /public, o którym wspomina Jonathan, Meteor ignoruje także katalogi rozpoczynające się od "." - możesz więc utworzyć katalog .submodules i umieścić tam pliki, a Meteor nie załaduje ich.

Prawdopodobnie lepiej jest je mieć w /public, ponieważ, no cóż, nie są one publiczne.

+0

Cholera, tak, zapomniałem o tych. Oto odpowiedź, jak sądzę. – jonathanKingston

+0

Jak można załadować je? +1 za interesujące informacje:) –

+0

Ah, genialny! Wielkie dzięki za to. Pytanie uzupełniające do tego: Próbowałem dowiązania symbolicznego z .submodules tych plików, które faktycznie chcę przetwarzać przez Meteor, a następnie zmieniając plik źródłowy, ale wygląda na to, że Meteor nie odczytuje zmian w plikach z dowiązaniami symbolicznymi. – mz2

0

Nie, jedynym sposobem, aby to zrobić, jest napisanie skryptu importu.

Istnieje katalog/public, w którym możesz umieścić wszystkie pliki, jeśli nie wiesz o tym.

Osobiście nie uważam tego za problem, ponieważ na pewno nie chcesz importować plików w oparciu o określoną ścieżkę, jeśli zmienił swój kod, aby dodać nowy wymagany plik, który również zostałby złamany. Nie jest to coś, o czym chciałbym się dowiedzieć podczas wdrażania, raczej planować każdą zmianę wersji zależności.

+0

Tak, wiem, co masz na myśli, to bardziej skrót w przypadku, w którym rzeczy, których używam jako submoduły w kontekście Meteora, zmieniają się na tyle aktywnie, że bolesne jest utrzymanie opakowania jako inteligentnego pakietu za każdym razem Zmienię to.Zasadniczo chciałbym skorzystać z zalet magii automatycznego usuwania również dla tego kodu, który nie jest ściśle związany z aplikacją Meteor, ale jest również używany gdzie indziej. – mz2

19

Aktualizacja: w nadchodzącym wydaniu Meteor (0.6.5) znajduje się katalog private, w którym można umieścić pliki, które są niedostępne dla klienta i nie są automatycznie ładowane na serwerze. Globalny obiekt i API Assets umożliwia odczytanie tych plików.

+0

To wydaje się być najbardziej poprawną odpowiedzią, biorąc pod uwagę bieżące wydanie Meteor. – Jesse

0

To brzmi nieco dziwnie, ale w Meteor 1,3 tam jest ..

/imports

..directory, które nie są automatycznie uwzględniane przez meteor.

Jest "przeznaczony"/sugerowany przez nazwę, jako moduły, które "importujesz" z innego kodu. Ale równie dobrze możesz użyć go do własnego kodu aplikacji i myślę, że jest to lepsza nazwa kodu aplikacji niż /private, ale to moja osobista opinia :-)

2

Istnieje również teraz wsparcie dla pliku .meteorignore (Meteor v1.5.2.1). Działa dokładnie tak samo, jak .gitignore.

Można ich używać w dowolnym katalogu projektu i są w pełni zintegrowane z systemem do oglądania plików.

Powiązane problemy