关于 HashRouter 和BrowserRouter的问题

#1

1.我在build:dev之后使用开发环境,在使用BrowserRouter的情况下,在访问/xxx/xx路由的时候会出现js、css的访问路径不对的问题,如果没有子路由,即访问/xxx的时候,就不会出现资源未找到的问题。不过,很有趣的是,在我build:prod,使用线上环境的时候,完全没有访问资源未找到的问题。
2.同上,在使用HashRouter之后,两种方式都能访问到正确的资源
以下是在开发环境build:dev情况下,使用BrowserRouter报错的代码,访问的路由是/clazz/mine

mine:7 GET http://localhost:2000/clazz/styles.0e5e392ec56e90c77a2c04e625bd6167.css net::ERR_ABORTED
mine:7 GET http://localhost:2000/clazz/styles.css net::ERR_ABORTED
mine:10 GET http://localhost:2000/clazz/common.495e63fa.js net::ERR_ABORTED
mine:10 GET http://localhost:2000/clazz/vendor.495e63fa.js net::ERR_ABORTED
mine:10 GET http://localhost:2000/clazz/main.495e63fa.js net::ERR_ABORTED
#2

你webpack 生产配置文件肯定配置对的,但是开发配置文件应该有问题。

webpack.dev.config.js(看你自己的名字哦) 里面的 output->publicPath 改为 ‘/’ 应该就好了。

#3

因为开发环境的配置肯定是不会出现问题的,问题就出在忘了开发环境配置了,那生产环境肯定是也需要配置的。 具体原因就是你用了路由 且你请求的东西根本不会再服务器上了 给你一个链接 , 好好看看你就知道问题出在哪里了。