我的系统需要根据传入的域名加载不同的动态Vue组件。我可以在context参数中的中间件函数中识别主机,但不知道如何在组件脚本中访问传入域。有没有办法直接在组件中访问它或将数据从中间件传递到组件?
感谢您的帮助。
答案 0 :(得分:1)
根据传入加载不同的动态Vue组件 域名
您可以使用nuxtServerInit()
方法。
您无需使用process.server
来检测控制流是与服务器还是客户端
此方法可以访问context
对象
您必须使用nuxtServerInit()
和Vuex
。
Vuex
。所以你可以自由使用Vuex。每当请求新页面时,下面的代码将在服务器端执行。
您可以将“ 重定向到基于域 ”逻辑
的不同页面actions: {
nuxtServerInit ({ commit }, reqObject) {
console.log("url ", reqObject.req.url);
console.log("method ", reqObject.req.method);
console.log("host ", reqObject.req.headers.host);
if(reqObject.req.headers.host == "mydomain.com"){
reqObject.redirect("/anynuxtpage");
}
else{
//do nothing. page corresponding to the current route will be loaded
}
}
}
如果你使用这种方法,那么你不必考虑调用任何中间件
<强>参考强>
nuxtserverinit https://nuxtjs.org/guide/vuex-store#the-nuxtserverinit-action
vuex-store https://nuxtjs.org/guide/vuex-store