Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue路由器:URL未加载正确的组件,而路由器链接加载正确的组件_Javascript_Vue.js_Vuejs2_Vue Router - Fatal编程技术网

Javascript Vue路由器:URL未加载正确的组件,而路由器链接加载正确的组件

Javascript 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也会

我的项目使用Vue2和Vue路由器。我希望能够通过键入URL
http://example.com/stats

  • URL
    http://example.com/stats
    不工作,我被重定向到
    /
    ,它将加载
    应用程序
    组件
  • 转到统计信息
    工作正常
  • 我想知道这是Vue路由器问题还是服务器配置问题。我想提及的是,我在
    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"
    })