Chcę oddzielić logikę aplikacji na wiele plików JavaScript dla zachowania zdrowia i przyjazności dla programistów, przechowywanych w folderze/src. Pliki te powinny być lintowane i łączone w /dist/app.js podczas procesu kompilacji. Używam gruntu do mojego procesu tworzenia, ponieważ ma on już poręczne zadania związane z lintami i konkatencjami.Jak rozwiązywać zależności podczas lintowania pojedynczych plików javascript z pomrukaniem?
+ |- grunt.js |- readme |-vendors |-backbone.js |- src |- core.js |- user.js |- dist |-app.js
Wpadam w irytujący problem. Używam backbone.js do struktury aplikacji, a większość moich plików źródłowych rozpoczyna się od zdefiniowania modeli przez rozszerzenie Backbone.Model. Linting tych plików, JSHint narzeka, że Backbone nie jest zdefiniowany i słusznie - szkielet rezyduje na zewnątrz w swoim własnym katalogu. Uwzględnienie wszystkich niezbędnych skryptów w odpowiedniej kolejności jest czymś, co zakładam, że jest zrobione w html. Każdy pojedynczy plik źródłowy powinien wiedzieć tylko o sobie.
wiem, że mogę powstrzymać te niezdefiniowanych ostrzeżenia przez ustawienie Lint za undef flagę w grunt.js do fałszywego ale chcę zachować to ustawienie prawdziwej, aby ostrzec innych niezdefiniowanych zmiennych w mojej aplikacji, ponieważ jest to wspólny wskaźnik literówek. Czy jest jakiś czysty sposób, aby powiedzieć, chrząknięcie (lub lint), jakie pliki umieścić przed linting je? Czy robię coś nie tak z moim procesem kompilacji lub z moją architekturą aplikacji? Czy jest to po prostu coś, z czym muszę żyć?
Perfect! Dzięki! Byłem prawie pewien, że musi to być łatwy sposób, ale dokumentacja gruntu nie była zbyt jasna i nie miałem wcześniejszego doświadczenia z JSHintem. Dzięki jeszcze raz! – timkg
Dodanie czegoś w rodzaju 'core.js' do przykładu' globals' w odpowiedzi pomogłoby w zrozumieniu. Pochodzę z perspektywy Web Storm zastanawiając się, jak dodać elementy zdefiniowane w mojej własnej bibliotece, zanim zorientowałem się, że mogę dodać je do pliku. Może również wspomnieć o tym, że możesz dodać opcje do pojedynczego pliku z kluczem globalnym '/ *: wartość, .. * /' składnia – Snekse
Ciągle otrzymuję "" foo "nie jest zdefiniowane" dopóki nie przeniosłem globów obiekt wewnątrz obiektu opcji. –