主要原因是webpack配置文件里的output的publicPath的配置问题:
配置文件分为开发环境配置文件webpack.config.dev.js和生产环境配置文件webpack.config.prod.js,
在开发环境时:publicPath:"/",配合devServer中的historyApiFallback:true,则可解决,
在生产环境时:publicPath:"./",如果静态资源是从CDN上获取,则publicPath配置为CDN的地址
如果部署到服务器nginx上,则:(原理就是当强制刷新页面时,永久重定向到首页)
location / {
index index.html
try_files $uri @router
}
location @router{ //表示匹配任意地址都重定向到index.html首页
rewrite ^(.*)$ /index.html permanent;
}
//permanent是301永久重定向