Я пытаюсь запустить приложение Spring-Boot с внешним интерфейсом React.js.Весь бэкэнд-код работает нормально.Мы используем webpack для компиляции всех наших реагирующих компонентов, и файл bundle.js создается просто отлично.Однако, когда файл index.html обслуживается, он не может найти файл bundle.js.Мы размещаем сервер через Heroku.
index.html
<!DOCTYPE html>
<html xmlns:th="http://thymeleaf.org">
<head lang="en">
<meta charset="UTF-8"/>
<title>Philosofound</title>
<link rel="stylesheet" href="/main.css" />
</head>
<body>
<div id="root"></div>
<script src="https://unpkg.com/react@16/umd/react.production.min.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js" crossorigin></script>
<script th:src="@{/static/bundle.js}"></script>
</body>
</html>
webpack.config.js
const path = require('path');
const webpack = require('webpack');
module.exports = {
entry: './src/main/js/index.js',
devtool: 'sourcemaps',
cache: true,
mode: 'development',
output: {
filename:'bundle.js',
path: path.resolve(__dirname, 'src/main/resources/static')
},
module: {
rules: [
{
test: path.join(__dirname, '.'),
exclude: /(node_modules)/,
use: [{
loader: 'babel-loader',
options: {
presets: ["@babel/preset-env", "@babel/preset-react"]
}
}]
}
]
},
plugins: [
new webpack.ProvidePlugin({
"React": "react"
})
]
};
Домашний файл controller.java
@Controller
public class HomeController {
@RequestMapping(value = "/")
public String index() {
return "index";
}
}
Когда мы компилируем и разворачиваем приложение, сайт возвращает
GET http://philosofound.com/static/bundle.js net::ERR_ABORTED 404
В идеале приложение фактически будет обслуживать компоненты React при запуске сайта.Любые советы о том, как решить эту проблему, с благодарностью.URL сайта http://philosofound.com