vue打包部署axios跨域问题

article/2025/10/13 9:20:17

工具版本:
【vue -V】:2.9.6
ide工具:VSCode / Idea

前提:我们前端vue工程需要单独部署

一、本地使用命令运行跨域问题。
外网访问的地址:https://www.runoob.com/try/ajax/json_demo.json
本地springboot接口访问的地址:http://192.168.3.12:8081/register/getSmsCode/123456789

1、axios访问的代码:

	created(){const _this = thisthis.$axios.get('/try/ajax/json_demo.json').then(response => (console.log('请求成功'),console.log(response),_this.msg = response.data)).catch(function (error) { // 请求失败处理console.log(error);});//发送本地springboot请求,本机的地址:192.168.3.12this.$axios.get('/register/getSmsCode/123456789').then(resp => (console.log('请求本地接口OK'),console.log(resp),_this.springStr = resp.data)).catch(function (error) { // 请求失败处理console.log("请求本地接口失败");});}

截图如下:
在这里插入图片描述
备注:需要在main.js中全局注册

importaxios from 'axios'
Vue.prototype.$axios = axios    //全局注册,使用方法为:this.$axios

2、修改assetsPublicPath配置
配置 config—index.js中的build模块
将assetsPublicPath: ‘/’, 修改为 assetsPublicPath: ‘./’,
截图如下:
在这里插入图片描述
打包后的index.html路径为下面:

<script type=text/javascript src=./static/js/vendor.096d28cd4f5da166f9ce.js>

访问地址:http://localhost:8080/
点击button跳转页面后的地址:http://localhost:8080/#/test

备注:这个/test是从首页的button跳转过来的 【this.$router.push(’/test’)】

3、修改proxyTable配置

		assetsSubDirectory: 'static',assetsPublicPath: '/',proxyTable: {'/try': {target:'https://www.runoob.com', // 你请求的第三方接口changeOrigin:true, // 在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题},'/register': {target:'http://192.168.3.12:8081', // 本地的springboot接口changeOrigin:true, //}},

截图如下:
在这里插入图片描述
4、测试运行:
我们通过【npm run dev】启动我们的服务,通过【http://localhost:8080】就可以访问。

我们本机可以访问,但是在其它的主机上访问拒绝(使用nginx部署不会有这个问题)设置config---index.js中的host: 'localhost', // can be overwritten by process.env.HOST为:host: '0.0.0.0', // can be overwritten by process.env.HOST

备注,使用proxyTable只能解决本地跨域问题。如果部署到nginx就不会

二、部署到nginx配置。(在window环境中)
nginx版本:nginx version: nginx/1.19.0
启动nginx
直接在cmd中运行 nginx,不报错就启动了。
【tasklist|findstr “nginx”】可以查看是否启动过
结束服务【taskkill /f /im nginx.exe】

打包【npm run build】,生成dist文件夹,将dist里面的文件复制到nginx目录中【.../nginx/html/vue/】配置nginx.conf文件
server {listen       8888;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   html;index  index.html index.htm;}location /try {			proxy_pass https://www.runoob.com;	//internet api}location /register {			proxy_pass http://192.168.3.12:8081; // local spring boot api}访问地址:【http://localhost:8888/vue/#/】vue就是nginx里面创建的目录
点击button,可以正常axios请求(外网和本地的springboot接口)

本地的nginx配置如下图:
在这里插入图片描述
运行结果如下图:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/X2HqrYOA.shtml

相关文章

SpringBoot + Vue打包部署到本地和远程服务器

最近碰到有人问如何将SpringBoot和Vue进行打包部署到Tomcat服务器&#xff0c;由于Vue接触不是很久所以我自己也感兴趣是如何打包部署到本地或者远程服务器上&#xff08;云端&#xff09;。恰好手上也有一个案例需要部署到远程Tomcat空间&#xff0c;琢磨了一点时间总算是搞清…

Vue项目如何打包并部署(nginx)

使用场景: 我们常使用前后端分离项目时,会需要将前端vue打包然后部署。 一.打包 vue项目其实可以直接通过一下语句进行打包&#xff1a; npm run build 默认打包情况如下: 当我们需要将打包名称以及静态资源位置进行修改时便需要进行相应的配置: 1.首先在项目根目录下创建…

Vue项目打包以及部署

一. 打包 npm run build 打包项目后&#xff0c;出现dist文件夹&#xff0c;dist文件夹下的东西就是需要部署的项目。 但是遇到问题&#xff1a;index.html页面出现一片空白&#xff0c;右键检查network发现一堆错误。 解决&#xff1a;没有修改config配置文件&#xff0c;如果…

vue项目打包布署

我们使用Vue做项目时&#xff0c;基本都是前后端分离的&#xff0c;所以项目布署有时是前后单独部署。因此前端开发人员很有必要熟悉一下项目部署的流程。 Vue项目打包部署本身不复杂&#xff0c;不过一些前端同学可能对服务器接触不多&#xff0c;部署过程中还是会遇到这样那…

N皇后问题及答案解

题目 在一张N∗N的国际象棋棋盘上&#xff0c;放置N个皇后&#xff0c;使得所有皇后都无法互相直接攻击得到&#xff0c;&#xff08;皇后可以直接攻击到她所在的横行&#xff0c;竖列&#xff0c;斜方向上的棋子&#xff09;&#xff0c;现在输入一个整数N&#xff0c;表示在N…

N皇后问题递归求解(内附详细代码)

N皇后问题递归求解&#xff08;内附详细代码&#xff09; 内容描述 在n*n的方格棋盘上&#xff0c;放置n个皇后&#xff0c;要求每个皇后不同行、不同列、不同对角线。 解题思路 下面我们以4皇后问题举例&#xff1a; 设queen(i&#xff0c;n)是在1&#xff5e;i-1行上已经放…

八皇后 N皇后

参考打蓝桥杯的通信人 如侵删 所有代码与原博主的代码相似 自作主张的觉着数组设置的太多辽想着改一下代码 写了一个set函数起初简单的认为 把每一个数组元素设置为0 1即可 跑起来后发现有错误 后来修改发现可以设置数组元素 x 只要在同行列或者对角线就会1 符合多个条件就会再…

n皇后学习

洛谷P1219 回溯 #include<cstdio> const int N 13; int n, cnt, ans[N]; void dfs(int row) {if (row n) {if (cnt < 3) {for (int i 0; i < n; i) {if (i > 0)printf(" ");printf("%d", ans[i] 1);}printf("\n");}cnt;ret…

N皇后(回溯算法)

题目 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。等价于要求任何两个皇后都不能在同一行、同一列以及同一条斜线上 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案。 如图&#xff1a;黄色代表放…

求解n皇后

要求&#xff1a;在国际象棋上摆放n个皇后&#xff0c;使其不能互相攻击&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上&#xff0c;问有多少种摆法 思路&#xff1a;很直观的想法就是在棋盘上一个一个皇后的摆&#xff0c;如果冲突&#xff0c;则摆放在另一…

n皇后 - 位运算版

n皇后问题是大家在递归里会碰到的一个经典问题。以前高中我学DFS的时候&#xff0c;老师首先让我看的就是八皇后。 不过这皇后的时间复杂度大家可想而知了。而接下来的位运算将这个效率重新提到一个高度。 我是以前在Matrix67大牛那里学的&#xff0c;最近数据结构实验刚好碰到…

n皇后最快算法详解

n皇后问题再经典不过了&#xff0c;想必大家也听说过。 再简单说一下吧&#xff0c;就是一个n*n的棋盘&#xff0c;放置n个皇后&#xff0c;使得竖着不攻击&#xff0c;横着不攻击&#xff0c;斜着不攻击。求有多少种方法。 &#xff08;国际象棋不是这么玩的呀 &#xff09; …

51. N 皇后

51. N 皇后 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方…

51. N皇后

51. N皇后 https://leetcode-cn.com/problems/n-queens/ 四皇后的解 n个皇后&#xff0c; nn 的棋盘上 根据要求 每行有且仅有一个皇后&#xff08;如果有一行没有那么必有一行至少两个皇后&#xff0c;不符合&#xff09; 递归回溯&#xff0c;每次尝试在一行中摆放皇后&…

递归算法——n皇后

** 递归算法——n皇后 ** n皇后问题&#xff1a; 输入整数n&#xff0c;要求n个国际象棋的皇后&#xff0c;摆在n*n的棋盘上&#xff0c;互相不能攻击&#xff0c;输出全部方案。 输入&#xff1a; 输入一个正整数N。 输出&#xff1a; 程序输出N皇后问题的全部摆法。 行里…

kettle连接mysql教程_KETTLE初学者使用教程

Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新:kettle会自动对比用户设置的对比字段,若目标表不存在该字段,则新插入该条记录。若存在,则更新。 Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳…

Kettle Spoon 安装配置详解

文章目录 1 概述2 安装2.1 软件下载2.2 JDK 环境变量配置2.3 数据库驱动包下载2.4 双击 Spoon.bat 启动 3 简单使用3.1 transformation 转换3.1.1 文件 - 新建 - 转换3.1.2 核心对象 - 输入 - 表输入3.1.3 核对对象 - 输出 - 插入/更新3.1.4 保存 - xxx.ktr 3.2 job 作业3.2.1 …

Spoon安装步骤

主数据库连接步骤 主对象树点击转换&#xff0c;双击DB连接 配置信息完成后点击测试成功 二&#xff0e;源数据库连接步骤 1.点击Connect,点击other repositories 2.点击Database Repository 编辑名称&#xff08;注意必须用英文&#xff09; 再点击数据库连接 配置选项 …

kettle下载安装使用教程

Kettle简介 Kettle是一款国外开源的ETL工具&#xff0c;纯java编写&#xff0c;可以在Window、Linux、Unix上运行&#xff0c; 数据抽取高效稳定。Kettle 中文名称叫水壶&#xff0c;该项目的主程序员MATT 希望把各种数据放到一个壶里&#xff0c;然后以一种指定的格式流出。K…

KETTLE使用教程

Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新&#xff1a;kettle会自动对比用户设置的对比字段&#xff0c;若目标表不存在该字段&#xff0c;则新插入该条记录。若存在&#xff0c;则更新。 Kettle简介&#xff1a;Kettle是一款国外开源的ETL工具&#xff0…