【发布时间】:2023-03-09 22:25:01
【问题描述】:
Vue docs解释如何为Vue-router的history模式配置各种类型的服务器,除非服务器自带默认Webpack-simple/Vue CLI。
如何使history 模式在这种情况下工作? (为什么省略了这么常见的场景?我很惊讶)
注意:related thread(没有对这个问题提供明确的答案)
【问题讨论】:
标签: vue.js vue-router
Vue docs解释如何为Vue-router的history模式配置各种类型的服务器,除非服务器自带默认Webpack-simple/Vue CLI。
如何使history 模式在这种情况下工作? (为什么省略了这么常见的场景?我很惊讶)
注意:related thread(没有对这个问题提供明确的答案)
【问题讨论】:
标签: vue.js vue-router
历史模式的问题是需要服务器端配置才能正常工作。
你看,如果我使用 vue cli(版本 3)创建一个新项目,历史模式会很好地工作。是开发模式,会从index.html开始,一切都会好的。
但是,如果有人使用与 / 不同的任何链接进入您的站点,如果未正确配置,服务器将返回 404 或类似的内容。
这就是为什么在 cordova 应用程序上禁用历史模式的原因(通过 webview 提供文件系统内容的混合移动设备,它绝对不知道如何“重写”索引)
webpack/browserify/parcel 等几乎没有什么业务。比如 vue cli 使用 webpack,history 模式在开发场景中可以正常工作。
更新:https://github.com/sombriks/sample-vue-router-issue
这可能是较旧的 vue cli 项目生成器的问题。在此示例项目中,呈现的场景(在开发模式下重新加载页面)组件已正确加载。
需要在生产模式下正确设置,但是仍然有必要,官方 vue 文档有a few samples 的服务器设置。
【讨论】: