nginx路由重定向到SPA中的index.html但是第二个子维度

时间:2017-11-14 11:25:30

标签: nginx webpack vue.js quasar-framework

我有一个vue.js(带有webpack的Quasar框架)应用程序,我使用vue-router。我在服务器端使用nginx(带laravel伪造)。在本地(quasar dev或npm run dev),一切都很好。我无法刷新地址的页面,就像/ settings一样,我用add

来解决它
location / {
    try_files $uri $uri/ /index.html?$query_string;
}

到nginx配置文件的行。之后我可以刷新服务器上的/ settings页面。但现在,如果页面还有一个维度,我就无法刷新页面。

/survey/1

我尝试将这些行添加到nginx配置文件

location /survey/ {
    alias /;
    try_files $uri $uri/ /index.html?$query_string;
}

但它不起作用。

当我查看错误时,我看到js地址是错误的。

http://example.com/survey/js/manifest.js'

应该是

http://example.com/js/manifest.js'

我研究了一下但找不到解决方案。

1 个答案:

答案 0 :(得分:1)

我发现了问题。它位于webpack构建配置,quasar框架中。我只需要修改Project / config / index.js文件的构建部分。在build部分下,publicPath应该从

更新
publicPath: ""

publicPath: "/"

dev部分也是如此。更新dev部分publicPath后问题已得到解决。

我只需将"/"放到publicPath