2013-07-24 20 views
5

Sto rifattorizzando un progetto javascript esistente in Maven e sto avendo problemi a farmi i conti con i diversi file.gestione di più file javascript con Maven & Jasmine

Sto usando il jasmine-maven-plugin, che sembra un po 'come questo nel mio 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> 

ho inizialmente avere un file .js chiamati master.js. Come puoi vedere, richiede il precaricamento jquery-1.9.1.min.js oppure "BUILD FAILED". Quando eseguo mvn compile dal terminale controlla il file e crea un file master.min.js offuscato (senza errori) - Sto anche usando yuicompressor-maven-plugin.

Ora ho bisogno di aggiungere più file al progetto. Il master.js è lungo circa 400 righe ed è richiesto su ogni pagina del mio progetto. Gli altri file da aggiungere sono grandi, a volte più di 1000 righe (ma con molti commenti e documentazione) e sono specifici per determinate pagine. Ad esempio, uno è richiesto solo per l'accesso, mentre altri sono solo per scopi di amministrazione.

C'è un modo per aggiungere questi file alla build di maven, con una dipendenza (o il precaricamento) del mio file master.js. La ragione per fare questo è;

  • ci sono le variabili globali e metodi che sono chiamati/utilizzati dalle altre pagine js (Non ti preoccupare, le variabili e metodi non sono offuscati)
  • Non desiderare di avere il codice duplicato da nessuna parte.
  • Potrei creare un file molto lungo che andrebbe bene, tuttavia;
    • Ciò probabilmente influirebbe sui tempi di caricamento.
    • È molto più difficile gestire il codice. (Forse i singoli file possono essere uniti quando compilato)

Se qualcuno ha qualche pensiero o suggerimenti su questo argomento sarebbe davvero utile come spero di seguire le migliori pratiche e non inciampare su complicazioni nel futuro.

risposta

0

È meglio implemetare puntoni2. Fornisce azioni che stabiliscono file di configrazione struts.xml. Qui puoi definire la mappatura delle tessere. Nella mappatura delle tessere è possibile estendere una pagina master che conterrà tutti i file multipli comuni. Funziona in modo efficiente con il progetto Maven. http://www.tutorialspoint.com/struts_2/struts_configuration.htm