前端 | Nuxt.js axios baseURL,proxy 代理
平时用 Vue 写前端时,对于 axios 请求的常规操作一般是
- 统一定义好一个 axios 对象,使用
axios.defaults.baseURL设置 baseURL- 也不是不能直接把服务器地址定义在这,但经常会导致跨域问题,所以一般还是用一个统一的标识,例如
/backend或/api
- 也不是不能直接把服务器地址定义在这,但经常会导致跨域问题,所以一般还是用一个统一的标识,例如
- 在
vue.config.js中定义代理 proxy
最近的项目中使用了 Nuxt.js 框架,发现相关功能的用法有些不同,于是做了一些整理。
nuxtjs/axios
Nuxt.js 自己封装了 axios 模块:@nuxtjs/axios。先在配置文件中引入模块:
// nuxt.config.js
export default {
modules: [
'@nuxtjs/axios',
],
}
引入后在 script 中(method, mounted等等)就能从全局访问到,用法和普通 axios 一致。
methods: {
async fetchSomething() {
const ip = await this.$axios.$get('http://icanhazip.com')
this.ip = ip
}
}
baseUrl 直接在配置文件中配置:
// nuxt.config.js
export default {
modules: [
'@nuxtjs/axios'
],
axios: {
baseURL: 'http://localhost:8080',
},
}
nuxtjs/proxy
用 axios 直接向后端请求经常会发生 CORS 跨域问题,因此通常会使用代理。nuxt 中通过模块 @nuxtjs/proxy 处理代理。添加依赖后就可以在配置中开启 axios 的代理选项:
{
modules: [
'@nuxtjs/axios',
//'@nuxtjs/proxy' 只要添加了依赖也可以不手动引入模块
],
axios: {
proxy: true
},
}
开启代理选项后,baseURL 选项就会失效。如果依然希望在每个请求之前添加固定前缀可以使用 prefix 选项替代。nuxtjs/proxy 的配置方法与 Vue 中普通的代理写法基本一致。
{
axios: {
proxy: true,
prefix: '/backend',
},
proxy: {
'/backend': {
target: 'http://localhost:8080', // process.env.BACKEND_URL
pathRewrite: { '^/backend': '/' },
},
},
}
参考资料:@nuxtjs/axios 文档
前端 | Nuxt.js axios baseURL,proxy 代理的更多相关文章
- nuxt.js axios使用poxyTable代理,解决跨域问题
1 安装(@gauseen/nuxt-proxy) cnpm install @gauseen/nuxt-proxy --save 2 配置nuxt.config.js modules: [ // 请 ...
- vue.js 服务端渲染nuxt.js反向代理nginx部署
vue.js的官方介绍里可能提到过nuxt.js,我也不太清楚我怎么找到这个的 最近项目vue.js是主流了,当有些优化需求过来后,vue还是有点力不从心, 比如SEO的优化,由于vue在初始化完成之 ...
- 前端技术之:使用npx创建一个Nuxt.js项目
$ npx create-nuxt-app my-first-nuxtjs npx: 401 安装成功,用时 43.891 秒 > Generating Nuxt.js project in / ...
- 【前端vue进阶实战】:从零打造一个流程图、拓扑图项目【Nuxt.js + Element + Vuex】 (一)
本系列教程是用Vue.js + Nuxt.js + Element + Vuex + 开源js绘图库,打造一个属于自己的在线绘图软件,最终效果:topology.le5le.com .如果你觉得好,欢 ...
- 从壹开始 [ Nuxt.js ] 之二 || 项目搭建 与 接口API
前言 哈喽大家周一好,今天的内容比较多,主要就是包括:把前端页面的展示页给搭出来,然后调通接口API,可以添加数据,这两天我也一直在开发,本来想一篇一篇的写,发现可能会比较简单,就索性把项目搭建的过程 ...
- Nuxt使用axios跨域问题解决方法
Nuxt 是 Vue 项目服务器端渲染(SSR)解决方案.而在使用时,就会遇到前后端分离情况下的域名或端口不一致导致的跨域问题.本文将介绍如何通过设置代理解决 Nuxt 与 axios 集成的跨域问题 ...
- Nuxt.js的踩坑指南(常见问题汇总)
本文会不定期更新在nuxt.js中遇到的问题进行汇总.转发请注明出处,尊重作者,谢谢! 强烈推荐作者文档版踩坑指南,点击跳转踩坑指南 在Nuxt的官方文档中,中文文档和英文文档都存在着不小的差异. 1 ...
- Vue 爬坑之路(十一)—— 基于 Nuxt.js 实现服务端渲染(SSR)
直接使用 Vue 构建前端单页面应用,页面源码时只有简单的几行 html,这并不利于网站的 SEO,这时候就需要服务端渲染 2016 年 10 月 25 日,zeit.co 背后的团队对外发布了一个 ...
- vue-cli3.0+node.js+axios跨域请求session不一样的问题
一.问题重述 使用的是,前后端分离,前端vue+axios请求,后端使用node搭建服务端接口,遇到的问题是,我通过登录接口吧数据存储型在session,我登录上以后,发现再次验证登录(另一个接口)的 ...
随机推荐
- 『心善渊』Selenium3.0基础 — 17、Selenium操作浏览器窗口的滚动条
目录 1.为什么操作滚动条 2.Selenium如何操作滚动条 3.Selenium操作滚动条方法 4.操作滚动条示例 5.下拉至聚焦元素的位置 (1)实现步骤: (2)实现示例: 1.为什么操作滚动 ...
- Spring官方发布新成员:Spring GraphQL
近日,在GraphQL Java诞生6周年的时候,Spring社区通过博客宣布正式创建全新项目:Spring GraphQL,同时还发布了这个新项目的里程碑1.0版本. 博客原文:https://sp ...
- ClouderaManager安装时mysql信息问题
在安装ClouderaManager5.7时,需要输入mysql信息,如下所示: 记录在此,以防忘记: database host name:localhost database type:MySQL ...
- [心得体会]springmvc在requestbody注解下使用jackson转化日期格式
使用WebMvcConfigurer的方法将converter注入到项目中 @Configurationpublic class ConverterConfig implements WebMvcCo ...
- shiro框架基础
一.shiro框架简介 Apache Shiro是Java的一个安全框架.其内部架构如下: 下面来介绍下里面的几个重要类: Subject:主体,应用代码直接交互的对象就是Subject.代表了当前用 ...
- 创建者模式 -- 单例模式(反射&序列化)
看的视频:https://www.bilibili.com/video/av43896218/?p=286 实现方式:(构造器私有,提供一个外部可以访问的方法(可以提供实例)) 1.饿汉式:线程安全, ...
- Linux下使用Ansible处理批量操作
Ansible介绍: ansible是一款为类unix系统开发的自由开源的配置和自动化工具.它用python写成,类似于saltstack和puppet,但是不同点是ansible不需要再节点中安装任 ...
- Ubuntu命令总结
sudo apt-get update 系统更新 shutdown -h now 关闭服务器 shutdown -r now 重启服务器 uname -a ubuntu中查看内核版本的命令 gedit ...
- mac-webui-selenium下的webdriver selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH
from selenium import webdriver def test1(): url='http://www.baidu.com' driver=webdriver.Chrome(" ...
- WORD2010
WORD2010表格,利用公式计算第一行,将光标定位到第二行相应位置,点F4即可进行相应的运算,第三行,相应位置,再点F4,继续计算