2013-07-24 18 views
5

Przebudowuję istniejący projekt javascript w Maven i mam problemy z radzeniem sobie z różnymi plikami.obsługa wielu plików javascript z Maven & Jasmine

Używam jasmine-maven-plugin który wygląda trochę jak ten w moim pom.xml:

 <plugin> 
      <groupId>com.github.searls</groupId> 
      <artifactId>jasmine-maven-plugin</artifactId> 
      <version>1.0.1-beta-6</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>generateManualRunner</goal> 
         <goal>resources</goal> 
         <goal>testResources</goal> 
         <goal>test</goal> 
         <goal>preparePackage</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <jsSrcDir>src/main/javascript</jsSrcDir> 
       <jsTestSrcDir>src/test/javascript</jsTestSrcDir> 
       <preloadSources> 
        <preloadSource>lib/jquery-1.9.1.min.js</preloadSource> 
       </preloadSources> 
      </configuration> 
     </plugin> 

początkowo mieć jeden js plik o nazwie master.js. Jak widać, wymaga to wstępnego załadowania jquery-1.9.1.min.js lub otrzymam komunikat "BUILD FAILED". Kiedy wykonuję mvn compile z terminala, sprawdza plik i tworzy zaciemniony plik master.min.js (bez błędów) - Używam również yuicompressor-maven-plugin.

Teraz muszę dodać więcej plików do projektu. Plik master.js ma około 400 linii i jest wymagany na każdej stronie mojego projektu. Pozostałe pliki do dodania są duże, czasami mają ponad 1000 wierszy (ale z dużą ilością komentarzy i dokumentacji) i są specyficzne dla niektórych stron. Na przykład jeden jest wymagany tylko do logowania, podczas gdy inne służą tylko do celów administracyjnych.

Czy istnieje sposób mogę dodać te pliki do maven kompilacji, z zależność (lub preloading) mój plik master.js. Powodem tego jest;

  • Istnieje zmienne globalne i metody, które są nazywane/używanych z innych stron js (Nie martw się, zmienne i metody nie są ukrywane)
  • Nie chcę mieć duplikat kod w dowolnym miejscu.
  • Mogłem utworzyć jeden bardzo długi plik, który byłby jednak dobry;
    • Prawdopodobnie wpłynie to na czas ładowania.
    • O wiele trudniej jest zarządzać kodem. (Być może poszczególne pliki mogą zostać połączone, gdy skompilowany)

Jeśli ktoś ma jakieś przemyślenia i sugestie na ten temat byłoby bardzo przydatne, ponieważ mam nadzieję, że do naśladowania najlepszych praktyk i nie natknąć się powikłań w przyszłość.

Odpowiedz

0

Lepiej jest impemetemet strut2. Zapewnia akcję ustawiającą się na plik konfiguracyjny struts.xml. Tam możesz zdefiniować mapowanie płytek. W mapowaniu kafelków można rozszerzyć stronę wzorcową, która będzie zawierać wszystkie typowe pliki. Działa efektywnie z projektem maven. http://www.tutorialspoint.com/struts_2/struts_configuration.htm