Próbuję zminimalizować pliki javascripts i css w mojej aplikacji angularjs za pomocą samaxes minify maven plugin. Jestem w stanie uzyskać wszystkie js & css minified i zbudować plik wojenny z maven, ale podczas próby otwarcia adresu URL aplikacji otrzymuję Error: [$injector:unpr] Unknown provider: aProvider <- a
, a moja aplikacja nie działa.Jak poprawnie używać minify maven plugin do min js i css w aplikacji Angularjs?
Poniżej przytaczam moją konfigurację wtyczek pom
<plugin>
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.7.4</version>
<executions>
<execution>
<id>min-js</id>
<phase>prepare-package</phase>
<goals>
<goal>minify</goal>
</goals>
</execution>
</executions>
<configuration>
<charset>UTF-8</charset>
<skipMerge>true</skipMerge>
<cssSourceDir>myapp/styles</cssSourceDir>
<jsSourceDir>myapp/javascript</jsSourceDir>
<jsEngine>CLOSURE</jsEngine>
<closureLanguage>ECMASCRIPT5</closureLanguage>
<closureAngularPass>true</closureAngularPass>
<nosuffix>true</nosuffix>
<webappTargetDir>${project.build.directory}/minify</webappTargetDir>
<cssSourceIncludes>
<cssSourceInclude>**/*.css</cssSourceInclude>
</cssSourceIncludes>
<cssSourceExcludes>
<cssSourceExclude>**/*.min.css</cssSourceExclude>
</cssSourceExcludes>
<jsSourceIncludes>
<jsSourceInclude>**/*.js</jsSourceInclude>
</jsSourceIncludes>
<jsSourceExcludes>
<jsSourceExclude>**/*.min.js</jsSourceExclude>
</jsSourceExcludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<webResources>
<resource>
<directory>${project.build.directory}/minify</directory>
</resource>
</webResources>
</configuration>
</plugin>
Struktura katalogów
Moja struktura regulatora
'use strict';
angular.module('myApp').controller('MyController', function($scope, $filter, $location, $interval, ngTableParams, $modal, $transition, myService, $timeout) {
...
});
błąd konsola Chrome
Czy samaxes minify maven plugin wsparcie Zmniejszanie kodu angularjs aplikacje czy muszę używać innych alternatyw?
Proszę pomóż mi w minimalizowaniu js i css w mojej aplikacji angularjs.
za pomocą maven zbudować przedni koniec zamiast chrząkać? Podoba mi się twój styl, ty szalony synu pistoletu – atmd
@atmd: Jestem nowy w angularjs i nie wiem zbyt wiele na temat chrząknięcia. Używamy programu maven do tworzenia kompilacji dla naszego kodu serwera, a ta aplikacja używa również punktu końcowego reszty Java, który jest spakowany wewnątrz 'WEB-INF> lib> [pliki jar]'.Przeszedłem przez [ten artykuł] (https://www.erianna.com/using-grunt-to-minify-and-compress-assets) tylko do sekcji "Dlaczego warto używać Grunta?" I potrzebuję tylko zminimalizować js i css, więc pomyślałem, że w tym momencie nie powinienem iść z mruczeniem tylko po to, by uśmiercić rzeczy. Proszę mnie poprawić, jeśli nadal uważasz, że muszę iść z chrząknięciem. – Ricky
Nie wziąłeś zrozumiałej trasy. jeśli używasz maven'a na zapleczu, to jest dobry argument za używaniem go na interfejsie. Argumentem przemówienia jest zazwyczaj użycie narzędzia do kompilacji napisanego w języku, w którym napisane jest twoje oprogramowanie (tj. Gruntowe skrypty są napisane w js) Grunt ma wtyczki, które są bardziej skoncentrowane na interfejsie użytkownika (kompilatory, minifikatory itp.), Na przykład [minikser skoncentrowany na kącie] (https://www.npmjs.com/package/grunt-ngmin). Zgodnie z moją wiedzą z mavenem, musisz podłączyć go do jakiegoś słoja (tak jak rzeczy YUI) – atmd