问题:
一般情况下应该使用history.push('/ssh')打开history路由页面
但项目中使用window.open('/ssh'),然后使用new WebSocket进行通信
开发环境下启动项目后,/ssh页面打开却显示cannot get /ssh,控制台提示404
排查问题:
在React开发环境中使用 window.open 打开路由页面时,如果出现404错误,通常是由于以下几个原因导致的:
- 开发服务器配置问题:默认情况下,
webpack-dev-server只能处理根路径的请求。如果你尝试打开一个路由页面,而该路径没有对应的静态文件,就会返回404错误。 - HTML5 History API:如果你使用了HTML5 History API(例如
react-router-dom的BrowserRouter),浏览器会尝试直接请求该路径,而不是通过React应用的入口点。
1.路由是否有:
App.tsx文件
import React from 'react';
import {Switch, Route} from 'react-router-dom';
import Login from './pages/login';
import WebSSH from './pages/ssh';
import Layout from './layout';
const App = () => {
return (
<Switch>
<Route path="/" exact component={Login} />
<Route path="/ssh" exact component={WebSSH} />

1598

被折叠的 条评论
为什么被折叠?



