Ich versuche, Javascripts und CSS-Dateien in meiner angularjs App mit zu minimieren. Ich bin in der Lage, alle js & Css zu minimieren und eine Krieg-Datei mit Maven, aber beim Versuch, App URL zu öffnen, bekomme ich Error: [$injector:unpr] Unknown provider: aProvider <- a
und meine App funktioniert nicht.Wie ordnungsgemäß Minify Maven Plugin verwenden, um js und CSS in Angularjs App zu minimieren?
Below Ich meine pom Plugin-Konfiguration
<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>
Verzeichnisstruktur
Meine Reglerstruktur bietet
'use strict';
angular.module('myApp').controller('MyController', function($scope, $filter, $location, $interval, ngTableParams, $modal, $transition, myService, $timeout) {
...
});
Chrome Konsolen Fehler
Does samaxes minify maven plugin Unterstützung Verkleinerungs AngularJS Apps oder muss ich andere Alternativen zu verwenden?
Bitte helfen Sie mir in meiner angularjs App js und CSS zu minimieren.
Maven mit dem vorderen Ende bauen eher dann grunzen? Ich mag deinen Stil, du verrückter Sohn einer Pistole – atmd
@atmd: Ich bin neu zu Angularjs und weiß nicht viel über Grunt. Wir haben maven verwendet, um Builds für unseren Server-Code zu erstellen, und diese App verwendet auch den Java-Rest-Endpunkt, der in 'WEB-INF> lib> [jar-Dateien]' gepackt ist.Ich ging [diesen Artikel] (https://www.erianna.com/using-grunt-to-minify-and-compress-assets) nur bis zum Abschnitt "Warum sollte ich Grunt verwenden?" Und ich brauche nur die Verkleinerung von js und css, also dachte ich mir, ich sollte nicht mit dem Grunzen gehen, nur um Dinge zu verkleinern. Bitte korrigieren Sie mich, wenn Sie immer noch denken, dass ich mit Grunzen gehen muss. – Ricky
Nein, Sie haben einen verständlichen Weg eingeschlagen. Wenn Sie Maven für das Backend verwenden, gibt es ein gutes Argument dafür, es am Frontend zu verwenden. Das Argument für grunt ist im Allgemeinen, ein Build-Tool zu verwenden, das in der Sprache geschrieben ist, in der Ihre Software geschrieben ist (dh grunt-Skripte sind in js geschrieben). Grunt hat Plugins, die mehr auf das Front-End fokussiert sind (Pre-Compiler, Minifyers etc.) [winklig fokussierte Minifigur] (https://www.npmjs.com/package/grunt-ngmin). Nach meinem Wissen mit Maven müssen Sie es irgendwo an ein Glas anschließen (wie das YUI-Zeug) – atmd