首页 文章

Vue路由器和webpack - 历史模式config localhost

提问于
浏览
0

基本上,我正在使用Vue cli和webpack模板,我需要在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.js:

historyApiFallback: {
      rewrites: [
        { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
      ],
    }

historyApiFallback: true

现在,当我尝试访问带有params的页面时,我得到一个空白页面 . 任何线索?

1 回答

  • 0

    更新:

    我在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

相关问题