Laravel mix vuejs路由器历史模式

时间:2018-04-04 10:14:13

标签: vuejs2 laravel-mix

我正在为我的应用程序使用laravel mix和vuejs,一切正常。

现在我尝试将VueRouter更改为历史记录模式:

const router = new VueRouter({
    mode: 'history'
})

在ngix服务器上,我添加了catch all规则:

location / {
  try_files $uri $uri/ /index.html;
}

因为它仍在工作,访问或刷新顶级网址,如“/ pages”或“/ contact”。

唯一的问题是像/pages/1/foo/bar/boo这样的子级网址。单击路由器链接仍然有效,但是如果我尝试刷新/pages/1上的页面或者我尝试直接访问它(在浏览器中输入/pages/1)它不起作用,因为浏览器尝试访问来自/pages/js/2.js而非/js/2.js

的资产

1 个答案:

答案 0 :(得分:1)

好的,我刚发现它 - 我必须在webpack.mix.js文件中将公共路径设置为绝对路径:

mix.webpackConfig({
    ...
    output: {
        ...
        publicPath: "/"
    }
});