Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何使用bundle.js文件在react router dom中呈现组件?_Reactjs_React Router_React Router Dom - Fatal编程技术网

Reactjs 如何使用bundle.js文件在react router dom中呈现组件?

Reactjs 如何使用bundle.js文件在react router dom中呈现组件?,reactjs,react-router,react-router-dom,Reactjs,React Router,React Router Dom,我创建了一个web应用程序,并在应用程序中使用react router dom进行导航。当我使用webpack dev server启动应用程序时,一切正常,现在是在我的服务器上部署此应用程序的时候了,因此我使用webpack命令创建了此应用程序的捆绑文件,但react router dom没有使用bundle.js文件呈现任何组件,无论我是否添加了switch 还有一件事,当我点击URL或刷新页面时,即使在WebpackDev服务器中也会出现错误“WebpageNotFound”。我希望我的应

我创建了一个web应用程序,并在应用程序中使用react router dom进行导航。当我使用webpack dev server启动应用程序时,一切正常,现在是在我的服务器上部署此应用程序的时候了,因此我使用webpack命令创建了此应用程序的捆绑文件,但react router dom没有使用bundle.js文件呈现任何组件,无论我是否添加了switch

还有一件事,当我点击URL或刷新页面时,即使在WebpackDev服务器中也会出现错误“WebpageNotFound”。我希望我的应用程序能够处理URL,而不仅仅是链接和推送。这是我的密码

import {        
    Router,
    Route,
    Switch
} from "react-router-dom";
import { Provider } from "react-redux";
import history from "./config/History";

import store from "./store";

const router = (
    <Provider store={store}>
        <Router history={history}>
            <div>
                <Header />
                <Switch>
                    <Route exact path="/" component={Login} />
                    <Route path="/login" component={Login} />
                    <Route path="/create/questions" component={CreateQuestion} />
                    <Route path="/create/quiz" component={CreateQuiz} />
                </Switch>
            </div>
        </Router>
    </Provider>
)

ReactDOM.render(router, document.getElementById("root"));
import{
路由器,
路线,,
转换
}从“反应路由器dom”;
从“react redux”导入{Provider};
从“/config/history”导入历史记录;
从“/store”导入存储;
常数路由器=(
)
render(router、document.getElementById(“根”);

我已经用HashRouter解决了这个问题。路由器存在一些安全问题,所以如果您想使用它,您必须在服务器上运行它,例如express server

这是我的更新代码。对于历史,我使用历史中的CreateHashHistory函数

import {
    HashRouter,
    Route,
    Switch
} from "react-router-dom";

<Provider store={store}>
    <HashRouter history={history}>
        <div>
            <Header />
            <Switch>
                <Route exact path="/" component={Login} />
                <Route exact  path="/login" component={Login} />
                <Route exact  path="/create/questions" component={CreateQuestion} />
                <Route exact  path="/create/quiz" component={CreateQuiz} />
            </Switch>
        </div>
    </HashRouter>
</Provider>
导入{
哈希路由器,
路线,,
转换
}从“反应路由器dom”;

Webpack dev server顾名思义是用于开发的。。。在生产中,您需要组合一个简单的服务器(即express服务器…),是的,我知道dev服务器用于开发目的。一年前,我使用react、redux和react路由器创建了另一个web应用程序。不幸的是,我丢失了我的代码,但我很确定我没有使用生产级别的任何服务器。我的服务器上仍然有处理整个应用程序的捆绑文件