子域 Laravel 路由和 Vue.js

Posted

技术标签:

【中文标题】子域 Laravel 路由和 Vue.js【英文标题】:Subdomains Laravel Routing and Vue.js 【发布时间】:2017-11-17 06:25:36 【问题描述】:

我正在使用Laravel 5.4vue.js 2.3vue-router

现状

example.com 被点击时,Laravel 返回启动Vue.appapp 视图

web.php

Route::get('/', function () 
    return view('app');
);

app.js

const routes = [
     path: '/', component: App ,
];

const app = new Vue(
    el: '#app',
    router,
    data () 
        return 
    ,
);

App.vue

export default 
    ...

我想要做什么

如果输入了usa.example.com,我希望App.vue 中的alert() 显示usa

如果输入了italy.example.com,我希望App.vue 中的alert() 显示italy

我阅读了vue-router 的文档,但我不确定这是Laravel 问题、Vue 问题还是两者兼而有之。

App.vue

export default 
    ....
    created() 
        alert('subdomain is ' + $route.params.subdomain)
    

【问题讨论】:

【参考方案1】:

VueRouter 不跟踪子域。

但是,您可以从 location 获取子域并在组件的 created 方法中使用它:

created() 
  let subdomain = location.hostname.split('.').shift();
  alert('subdomain is ' + subdomain);

以上代码基于this answer。

【讨论】:

以上是关于子域 Laravel 路由和 Vue.js的主要内容,如果未能解决你的问题,请参考以下文章

我的子域路由覆盖了我在 laravel 7 中的正常网络路由

子域路由在 Laravel 5 上不起作用 - WAMPServer

Laravel 子域路由设置

任何域上的 Laravel 5 子域路由

使用 Laravel 进行子域路由

laravel 主域路由优先于动态子域