如何为Vue.js路由器的“历史记录”模式配置Webpack?

时间:2018-12-25 17:12:40

标签: vue.js vue-router

Vue docs解释了如何为Vue-router的history模式配置各种类型的服务器,除非服务器带有默认的Webpack-simple / Vue CLI

在这种情况下如何使history模式起作用? (以及为什么省略了这种常见情况?我很惊讶)

注意:related thread(未提供对此问题的明确答案)

1 个答案:

答案 0 :(得分:0)

历史记录模式的问题是需要服务器端配置才能正常工作。

您看到,如果我使用vue cli(第3版)创建新项目,则历史记录模式将很好地工作。它是开发模式,将从index.html开始,一切都会好起来。

但是,如果有人使用不同于/的任何链接进入您的网站,则服务器如果配置不正确,将返回404或类似的内容。

这就是为什么在cordova应用程序上禁用了历史记录模式的原因(通过webview混合移动从文件系统提供内容,这绝对不知道如何“重写”索引)

webpack / browserify / parcel等业务不多。例如,vue cli使用webpack,并且历史记录模式在开发场景中可以正常工作。

更新:https://github.com/sombriks/sample-vue-router-issue

也许这是旧版vue cli项目生成器上的问题。在此示例项目中,演示的场景(开发模式下的重新加载页面)正确加载了组件。

然而,仍然需要在生产模式下进行正确的设置,并且正式的vue文档具有a few samples的服务器设置。