2013-07-24 5 views
5

Ich Refactoring ein vorhandenes Javascript-Projekt in Maven und habe Probleme, meinen Kopf herum zu bekommen Umgang mit den verschiedenen Dateien.Umgang mit mehreren Javascript-Dateien mit Maven & Jasmine

ich die jasmine-maven-plugin verwenden, die ein bisschen wie dies in meinem pom.xml aussieht:

 <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> 

Ich habe zunächst eine Js-Datei mit dem Namen master.js. Wie Sie sehen können, erfordert das Vorladen jquery-1.9.1.min.js oder ich bekomme 'BUILD FAILED'. Wenn ich mvn compile vom Terminal aus führe, prüft es die Datei und erzeugt eine verschleierte master.min.js Datei (ohne Fehler) - ich verwende auch yuicompressor-maven-plugin.

Jetzt muss ich dem Projekt weitere Dateien hinzufügen. Die master.js ist etwa 400 Zeilen lang und wird auf jeder Seite meines Projekts benötigt. Die anderen hinzuzufügenden Dateien sind groß, manchmal über 1000 Zeilen (aber mit vielen Kommentaren und Dokumentation) und sind spezifisch für bestimmte Seiten. Zum Beispiel wird eine nur zum Anmelden benötigt, während andere nur zu Verwaltungszwecken dienen.

Gibt es eine Möglichkeit, diese Dateien zum Maven Build hinzufügen, mit einer Abhängigkeit (oder Preloading) meine Master.js-Datei. Der Grund dafür ist;

  • Es gibt globale Variablen und Methoden, die aufgerufen werden/von den anderen js Seiten verwendet (Keine Sorge, werden die Variablen und Methoden nicht verschleiert)
  • Ich möchte nicht doppelten Code überall haben.
  • Ich könnte eine sehr lange Datei erstellen, die aber in Ordnung wäre;
    • Dies würde wahrscheinlich Ladezeiten beeinflussen.
    • Es ist viel schwieriger, den Code zu verwalten. (Vielleicht sind die einzelnen Dateien können zusammengeführt werden, wenn kompiliert)

Wenn jemand irgendwelche Gedanken oder Anregungen zu diesem Thema hat, würde es wirklich nützlich sein, wie ich hoffe, die besten Praktiken zu folgen und nicht stolpert Komplikationen in der Zukunft.

Antwort

0

Es ist besser, struts2 zu implementieren. Es bietet die Möglichkeit, die Konfigurationsdatei struts.xml anzupassen. Dort können Sie Kacheln definieren. Beim Kacheln können Sie eine Masterseite erweitern, die alle gängigen Mehrfachdateien enthält. Es funktioniert effizient mit Maven-Projekt. http://www.tutorialspoint.com/struts_2/struts_configuration.htm

Verwandte Themen