我有一个示例项目只是为了玩 react 并了解它是如何工作的。
对于开发环境,我使用 webpack 开发服务器,但这对于实际部署来说还不够。显然,当谈到实际部署时,似乎没有好的解决方案,我唯一能找到的就是使用 heroku,我不能在我的域下拥有我的应用程序,并且应该以 heroku 结尾,这在现实世界的开发中是不可接受的(请更正我如果我错了,因为我不确定部署我的网络应用程序的最佳方式是什么)。
要部署我的应用程序,我能想到的唯一方法是使用 tomcat。所以我把我项目的bundle.js和index.html文件复制到了eclipse IDE的WebContent中。以下是 index.js 文件:
import {render} from "react-dom";
import React from "react";
import {Router, Route, browserHistory, useRouterHistory, IndexRoute} from "react-router";
import { createHistory } from 'history';
import {Provider} from "react-redux";
import Home from "./container/Home";
import {Bridge} from "./router-bridge/Bridge";
import {T} from "./components/T";
import store from "./store";
class Tj extends React.Component {
render() {
const history = useRouterHistory(createHistory)({
basename: '/test'
});
return (
<Router history={history}>
<Route path={"/"} component={Bridge} >
<IndexRoute component={Home} />
<Route path={"user"} component={T} />
<Route path={"home"} component={Home} />
</Route>
<Route path={"/test/"} component={Bridge} >
<IndexRoute component={Home} />
<Route path={"user"} component={T} />
<Route path={"home"} component={Home} />
</Route>
<Route path={"home"} component={Home} />
</Router>
);
}
}
render(
<Provider store={store}>
<Tj/>
</Provider>,
window.document.getElementById('mainContainer'));
因此,当我使用 web pack dev server 时,我的路由器工作正常,但是当我将文件复制到 eclipse 项目的 web 内容时(这将因此为我设置所有内容并使该项目可通过此 URL http://localhost访问和访问:8080/test/index.html ) 我在浏览器控制台中收到以下错误:
警告:[react-router] 位置“/test/index.html”没有匹配任何路由
我还查看了一些与此类似的帖子,例如:
但我无法解决我的问题。任何人都可以帮忙吗?