Angular 4 + springboot + Maven + Eclipse - 每次都要构建

时间:2018-04-19 14:09:55

标签: angular maven spring-boot

我希望这是一个有效的问题。通过互联网搜索后,我找不到一个好的解决方案。

我正在使用Angular 4 + Spring启动与STS(Eclipse)开发应用程序。我正在使用maven。每当我改变角度时,我都必须做“构建”。我的例外是如果我改变角度的任何东西,它应该反映在网页中而不做“ng build”。

这是我的文件夹结构:

在下面的路径中,在命令提示符下,我每次在java中更改任何内容时执行命令:“mvn clean isntall”: In command prompt, I am executing command: "mvn clean isntall" everytime I change anything in java

在下面的路径中,在命令提示符下,我正在执行命令:“ng build”每次我以角度改变任何东西 In command prompt, I am executing command: "ng build" everytime I make change anything in angular

我试过“ng serve”,但它没有用,这意味着mvn clean成功了,但是在浏览器加载时我看不到页面。

4 个答案:

答案 0 :(得分:1)

你试过下面的命令

ng serve --proxy-config proxy-conf.json -o

请记住,您需要在项目中使用proxy-conf.json。它应该在package.json所在的目录中。然后运行localhost:4200

{
  "/api": {
    "target": "http://localhost:8080",
    "secure": false
  }

}

答案 1 :(得分:0)

也许考虑在Spring项目之外单独运行Angular 4项目。当你想部署/发布时,你只需将Angular文件放到Spring项目中。

我的设置例如: Angular 4运行:本地4200。 春天继续:8080本地。

当我需要部署新版本时,我只需将压缩的角度文件放到Spring项目文件夹中,然后使用Maven创建War文件。

答案 2 :(得分:0)

对于开发,您可以在角度应用程序目录中使用ng serve并单独启动后端。 ng serve会自动检测Angular文件中的更改,重建并提供新内容。

对于最终的完整部署,您可以使用maven并将所有内容构建为一个war。在您的pom中,您还可以为ng build定义一个插件,并将一个插件用于将Angular应用程序的dist目录复制到正确的位置。 " dist"目录包含您的构建Android应用程序(js文件等)。

答案 3 :(得分:0)

我可以通过使用" ng serve"运行Angular来实现。和java使用" mvn clean install"。不得不做很多改变。变化是:

1)在application.properties中,我添加了

security.ignored=/**

2)WebSecurityConfiguration.java

//.antMatchers(HttpMethod.GET, "/resources/**", "/assets/**", "/css/**", "/js/**", "/fonts/**") -> Commented this line
  .antMatchers("/**")
. . .
. . .
. . .
http.cors();

3)通过附加{{3}}更改了所有REST呼叫。例如,如果它是

 this.http
            .get('api/inspection')

现在是:

 this.http
            .get('http://localhost:8080/api/inspection')

我仍在寻找更好的解决方案。这意味着至少我不必更改REST调用。我应该得到(' api / inspection')。我想使用某种拦截器为我添加localhost:800。