Javascript Vue路由器:URL未加载正确的组件,而路由器链接加载正确的组件
我的项目使用Vue2和Vue路由器。我希望能够通过键入URLJavascript Vue路由器:URL未加载正确的组件,而路由器链接加载正确的组件,javascript,vue.js,vuejs2,vue-router,Javascript,Vue.js,Vuejs2,Vue Router,我的项目使用Vue2和Vue路由器。我希望能够通过键入URLhttp://example.com/stats URLhttp://example.com/stats不工作,我被重定向到/,它将加载应用程序组件 转到统计信息工作正常 我想知道这是Vue路由器问题还是服务器配置问题。我想提及的是,我在localhost和使用nGinx的服务器上都遇到了这个问题 我怎样才能解决这个问题 app.js: 您是否已将web服务器配置为返回相同的页面,而不考虑URL? 这样你的应用程序就可以加载,URL也会
http://example.com/stats
http://example.com/stats
不工作,我被重定向到/
,它将加载应用程序
组件转到统计信息
工作正常localhost
和使用nGinx
的服务器上都遇到了这个问题
我怎样才能解决这个问题
app.js:
您是否已将web服务器配置为返回相同的页面,而不考虑URL? 这样你的应用程序就可以加载,URL也会保留下来,这样一旦加载,路由就可以接管并选择正确的组件 此答案建议nginx使用以下配置:
location / {
try_files $uri /base.html;
}
转到您的Laravel路线,并放置以下内容:
Route::any('{all}', function () {
return view('index'); // if your main view is "index"
})
这将确保深层链接在Laravel处理的所有请求上正常工作。以下是我所做的
Route::get('/stats','HomeController@home');
您是否也有新的Vue({el:'#app',router})
在什么地方?当然,很抱歉,我只是将app.js
减少到我认为重要的程度。我刚刚更新了它!你会在某个时候调用Vue.use(VueRouter)
?是的,我会。当我点击代码中的
时,我很好地重定向到了我的组件。我更新了app.js文件单击链接时生成的URI是什么?你在实例化路由器时禁用了#
吗?这不起作用,URL被更改为/
,然后加载应用程序
组件OP在哪里提到了Laravel?@Phil我查看了他以前的帖子和一系列技术。公认的答案也适用于拉威尔。
Route::any('{all}', function () {
return view('index'); // if your main view is "index"
})