基本上,我正在使用带有webpack模板的Vue cli,我需要在vue路由器中使用历史模式,但我正在使用params进行路由。
我读了这篇文档:https://router.vuejs.org/en/essentials/history-mode.html 我也看了这个帖子:Problems with vue router (history mode) in development server Vue.js - “Cannot GET /config”
所以我从:
更改webpack.dev.conf.jshistoryApiFallback: {
rewrites: [
{ from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
],
}
到
historyApiFallback: true
现在,当我尝试访问带有参数的页面时,我得到一个空白页面。任何线索?
答案 0 :(得分:1)
更新:
我在Vue论坛中公开了这个问题,@ LinusBorg帮助我了解vue-router和历史模式会发生什么:
https://forum.vuejs.org/t/vue-router-and-webpack-history-mode-config-localhost/27880/12
基本上,他建议“不应该在webpack / config文件上更改任何内容(我[LinusBorg]维护此模板)”。当我改为相对路径时,它就坏了。
由于我需要将项目交付给子文件夹,他建议采取一些步骤:
如果没有绝对路径,
- 历史模式无法真正发挥作用。直接访问子路径时,aset文件的相应路径将中断。 这不是你能够解决的问题。
- 如果您想从子文件夹中提供服务,您必须通过设置base1选项让路由器知道这一点。
- 您还在配置中将write子文件夹设置为assetsPublicPath(对于build和dev,除非您创建路由器的基础 根据环境切换。)
醇>
然后,带有params的页面仍然被破坏,因为服务器(甚至localhost)需要按照此处的说明进行配置:https://router.vuejs.org/en/essentials/history-mode.html