我正在努力解决一个问题,即 spring-boot 没有在 8080 上提供前端文件(通过 angular 创建)。我运行ng build将 .ts ng 组件文件转换为 .js 并在 outputPath:/resource/static 文件夹中生成(我在 angular.json 文件中设置 outputPath)。创建了一个控制器来从资源/静态提供内容。
@Controller
public class AppController {
@GetMapping("/")
public String index() {
return "index";
}
}
主类(src/mainjava/webapp/app):
@Configuration
@EnableAutoConfiguration
@ComponentScan({"webapp"})
public class Application extends WebMvcAutoConfiguration {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(Application.class);
app.run(args);
}
}
Ranng build --base-href .生成的文件如下图所示。
索引.html:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Welcome app</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<app-root></app-root>
<script type="text/javascript" src="runtime.js"></script><script type="text/javascript" src="polyfills.js"></script><script type="text/javascript" src="styles.js"></script><script type="text/javascript" src="vendor.js"></script><script type="text/javascript" src="main.js"></script></body>
</html>
注意:这是一个gradle项目。前端代码位于:src/main/java/webapp/frontend dir
/resources 中的 Application.yml
server:
servlet:
context-path: /
port: 8080
我什至尝试在 /resources 下添加 html 文件,以查看 tomcat 是否提供此文件夹中的任何内容。我也无法访问 page1.html,因此不确定 angular/ng 内容有何不同,以至于在 tomcat 启动并运行时它无法提供服务。
繁花不似锦
UYOU
相关分类