- 首发:2020-12-19 23:48:03
- 教程
- 5465
在nuxt.js中使用axios,推荐使用nuxt定制款nuxt/axios
(https://axios.nuxtjs.org/)。相比原生axios
有如下优势:
- 自动为客户端和服务器端设置
baseURL
- 将
setToken
函数暴露给$axios
,可以非常容易的进行全局Authentication tokens
设置 - 基于
baseURL
发起请求时,自动启用withCredentials
- 添加用于服务器端渲染的
Proxy
请求Header
- 支持使用
axios
加载CSS
- 与
Nuxt
进度条集成 - 与
Proxi
模块集成 - 使用
axios-retry
自动重试请求
对于@nuxt/axios
的使用说明参考官网即可。此处对一些重点配置进行说明。
nuxt.config.js
export default {
modules: [
'@nuxtjs/axios'
],
axios: {
baseURL: 'http://127.0.0.1:4000', // 此处需要填写和privateRuntimeConfig相同的配置内容,方便服务器端请求
},
publicRuntimeConfig: {
axios: {
browserBaseURL: process.env.BROWSER_BASE_URL // 此处填写客户端请求API的地址
}
},
privateRuntimeConfig: {
axios: {
baseURL: 'http://127.0.0.1:4000' // 此处填写在服务器端请求API的地址
}
},
}
在进行同构的时候,privateRuntimeConfig
配置中的baseURL
只有在服务器端请求才会生效,而browserBaseURL
则是客户端请求的时候的baseURL
地址。
例如,服务器中API服务器监听了4000端口,因此在服务器端,nuxt.js
程序通过'http://127.0.0.1:4000'
请求API,而客户端则通过https://域名
请求API。
同理,在内网负载均衡环境下,privateRuntimeConfig
配置中的baseURL
则需要设置为内网请求地址,相应的browserBaseURL
是外网地址。如果不这样设置,可能导致内网也通过外网域名进行API请求,甚至导致CDN循环回源而出现508错误。
从服务端发出的请求和从客户端发出的请求,使用相同的token,有解决方案吗?服务端发请求时怎么拿到token?
从功能实现的角度说,是可以在服务器端请求API的时候,使用和客户端相同的Token的,可以通过建立cookie与token的映射关系,查找cookie对应的token来实现首屏的时候服务器端带token请求API。从功能设计的角度上,最好不要在服务器端带Token去请求API。使用Nuxt.js的通常目的是为了实现服务器和客户端同构,实现搜索引擎收录服务器端渲染的页面。因此需要进行服务器端渲染的页面跟用户权限没有必然关系,在设计API的时候就应当让需要鉴权的API使用客户端作请求。
老师你好,我希望能用一个openwrt路由器实现IPv4和IPv6的桥接,请问我该如何实现?我尝试了直接新增dhcpv6的接口,但是效果不甚理想(无法成功获取公网的ipv6,但是直连上级路由的其他设备是可以获取公网的ipv6地)
![%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE20241205230845.png](https://cdn.wyr.me/visitor-files/2024-12-05/1733411344287屏幕截图 2024-12-05 230845.png)你好
,为什么我这里是0039 813C 0600 0075 16xx xx xx,只有前6组是相同的,博客中要前8位相同,这个不同能不能照着修改呢?我系统版本是Win1124H2
大神你好,win11专业版24h2最新版26100.2033,文件如何修改?谢谢
win11专业版24h2最新版26100.2033,Windows Feature Experience Pack 1000.26100.23.0。C:\Windows\System32\termsrv.dll系统自带的这个文件,39 81 3C 06 00 00 0F 85 XX XX XX XX 替换为 B8 00 01 00 00 89 81 38 06 00 00 90。仍然无法远程连接。原来是win11 21h2系统,是可以远程链接的。共享1个主机,2个显示器,2套键鼠,各自独立操作 各自不同的账号,不同的桌面环境。
博主,win11专业版24h2最新版,C:\Windows\System32\termsrv.dll系统自带的这个文件,找不到应该修改哪个字段。我的微信:一三五73二五九五00,谢谢