Je suis nouveau sur angular2, je veux savoir quelle est la structure de fichier possible pour SpringMVC4 avec angular 2?
Comme le montre l'image, cela fonctionnera pour Angular 1.x mais la structure de fichier de Angular 2 est assez différente et son composant piloté, et j'utilise = angular 2 comme indiqué ci-dessous
J'ai beaucoup cherché et j'ai trouvé que nous pouvons utiliser Front end (en utilisant angular2) et back end (serveur en utilisant spring/springboot) séparément, mais nous avons besoin de 2 serveurs pour exécuter l'application. Par exemple, Frontend: 192.168.100.1:4200 et Backend: 192.168.100.1:8080
Existe-t-il un moyen ou une structure de fichier générale pour exécuter à la fois angular2 et spring4MVC sur le même serveur (comme 192.168.100.1:8080)?
Merci d'avance. Les réponses seront appréciées!
Aucune réponse jusqu'à présent, c'est bien, j'ai obtenu une solution. Comment j'ai fait?
Vous avez besoin de 2 contextes.
(1) Angular 2 et
(2) Spring MVC
Suivez les étapes ci-dessous pour atteindre notre objectif principal, exécuter SPRINGMVC + Angular2 sur un seul serveur.
Ouvrez CMD, accédez à l'application angular2. Commande Hit
npm install puis
ng build ou utilisez ng build --prod pour la production
cette commande créera un dossier "dist", copiera tous les fichiers, y compris tous les dossiers.
Collez ces fichiers et dossiers dans le répertoire WebContent.
Dernière chose, vous devez changer basehref = "./" dans index.html. Vous êtes maintenant prêt à exécuter le serveur ou vous pouvez déployer le fichier war et le servir avec Tomcat ou d'autres serveurs.
Si vous utilisez les services Web Rest et que vous souhaitez exécuter angular2 et spring sur un seul serveur,
Vous devez mettre webServiceEndPointUrl
selon l'URL de votre hôte. Par exemple, si vous exécutez l'application sur localhost: 8080, vous devez conserver l'URL
webServiceEndPointUrl = " http: // localhost: 8080/api/user "; à angular. Après cela, vous pouvez créer et copier coller dans votre dossier WebContent.
Voir ci-dessous Image, structure de fichiers pour springMVC + ANGULAR2
Je sais qu'il existe de nombreux inconvénients à utiliser ces méthodes pour exécuter l'application sur un seul serveur, mais si cela doit être requis, vous pouvez suivre cela.
Si vous changez quoi que ce soit à angular, vous devez copier-coller le dossier dist à tout moment et ensuite vous pouvez le déployer!
Vous pouvez automatiser votre solution - utilisez simplement le plugin frontend-maven (avec lequel vous pouvez installer nodejs et construire le angular = project) et maven-resources-plugin pour copier le contenu du répertoire/angular/dist/dans la racine du fichier .war (voir aussi cet article )
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>default-copy-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<overwrite>true</overwrite>
<outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}/</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/angular/dist</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Et puis vous pouvez utiliser la fonction de rechargement à chaud (pendant le développement) sur le serveur nodejs, exécutée par ng serve
avec Angular CLI tool.