Oddzielne części mojej witryny mają oddzielne zestawy plików Javascript, które - łącznie - razem ingerują w siebie. Aby przetestować wszystko za pomocą Jasmine, wydaje mi się, że potrzebuję sposobu na zdefiniowanie oddzielnych zestawów "aktywów" dla różnych pakietów. Czy jest to obecnie możliwe, a jeśli tak, to w jaki sposób?Jaśmin: zdefiniuj oddzielne zestawy plików źródłowych dla Railsów?
Odpowiedz
Możesz rozważyć, zgodnie z sugestią, podział języka javascript na różne przestrzenie nazw. Jednym świetnym sposobem na łatwe oddzielenie javascript na wiele plików jest użycie module pattern, który używa zamknięć i kilku innych właściwości javascript, aby natychmiast wykonać potrzebny kod i go zawrzeć.
co, jeśli dwa pliki js definiują funkcje o tej samej nazwie? W aplikacji internetowej oba nie będą ładowane, ale jaśminem, zderzają się. – apneadiving
Przeprosiny; Nie używałem wcześniej Jasmine, ale ogólnie powyższa procedura jest dobra do dzielenia plików javascript. Jeśli istnieją dwie funkcje o tej samej nazwie, prawdopodobnie powinny należeć do ich własnej przestrzeni nazw/klasy. – NT3RP
- 1. AST dla wielu plików źródłowych z clang
- 2. Zestawy reguł dla cppcheck
- 3. Przechowywać testy Mocha obok plików źródłowych
- 4. Udostępnianie modeli między 2 interfejsami API Railsów (oddzielne aplikacje)
- 5. Masz oddzielne miejsce przechowywania plików cookie dla dwóch UIWebView?
- 6. Oddzielne przechowywanie plików cookie dla dwóch osób (UIWebView lub WKWebView)
- 7. Włączanie kodowania UTF-8 dla plików źródłowych typu clojure
- 8. Rekursywne wyszukiwanie CMake dla plików nagłówkowych i źródłowych
- 9. Ruby On Rails: sposób tworzenia różnych plików źródłowych dla środowisk
- 10. Generator wykresów przepływu z plików źródłowych
- 11. Jak ustawić jaśmin dla projektu maszynopisu
- 12. Alternatywy dla Bootstrap dla Railsów
- 13. Zdefiniuj zdarzenie click dla UISegmentedControl
- 14. Budowanie bibliotek OpenCV z plików źródłowych
- 15. Protoc: Jak wygenerować wiele plików źródłowych Java?
- 16. Jak wyodrębnić komentarze JavaDoc z plików źródłowych
- 17. Sposób logicznego porządkowania plików źródłowych w C++
- 18. Wcięcie plików źródłowych Java za pomocą Eclipse
- 19. Standardy C++ (koniec nowej linii plików źródłowych)
- 20. Jak określić kodowanie plików źródłowych Java?
- 21. Oddzielne kategorie dla typów wiadomości
- 22. Czasami PyDev nie rozpoznaje plików .py jako plików źródłowych Pythona
- 23. Python argparse: oddzielne opcje dla argumentów pozycyjnych
- 24. jaśmin - testowanie dla nieokreślonej nieruchomego obiektu
- 25. Jaśmin dla języka C# i/lub Java
- 26. JSPM wielokrotne zestawy, sprzedawca i aplikacja
- 27. Oddzielne pliki nagłówkowe dla konkretnych klas - C++
- 28. Strategia uwierzytelniania Railsów dla noob
- 29. Dlaczego jaśmin-węzeł nie znajduje moich plików spec?
- 30. AngularJS Karma-jaśmin i studio wizualne 2015
Czy możesz wyjaśnić, jak się ze sobą nawzajem przeszkadzają? Jeśli ostrożnie umieścisz Javascript w przestrzeniach nazw i sprawdzisz, czy każdy moduł w przestrzeni nazw jest już zdefiniowany przed zdefiniowaniem, powinieneś być w stanie uniknąć konfliktu. Być może, jeśli podasz przykład konfliktu, możesz pokazać, jak przepakowywać rzeczy, aby uniknąć konfliktu. Railsy 3.1 aktywów oczekują (domyślnie, tak czy inaczej), że będziesz w stanie zdefiniować wszystkie javascript w jednym pliku application.js (tzn. Wszystkie twoje moduły zostaną zwinięte do jednego pliku). – mwolfetech
Posiadałem zestaw plików JS do publicznej części mojej witryny i jeden do części administracyjnej. Oba miały kilka funkcji i zmiennych globalnych o tej samej nazwie, ponieważ ujawniły podobne zachowanie, ale nieco różniły się w obu częściach. To, co udało mi się zrobić, to: (1) uwzględnienie wspólnego zachowania we wspólnych plikach JS i (2) implementacja [klas i dziedziczenia] (http://ejohn.org/blog/simple-javascript-inheritance/) w celu zaopiekowania się warianty w zachowaniu. Zasadniczo wyczyściłem cały zestaw plików JS, aby wszystkie mogły współistnieć w tym samym czasie. Ale wciąż widzę wartość w testowaniu tylko podzbiorów plików. –