当前位置: 首页 > news >正文

网站建站基本要素服务营销策略

网站建站基本要素,服务营销策略,线上招生引流推广方法,给网站写文章怎么做文章目录 vite的proxy开发环境设置如果后端没有提供可以替换的/mis等可替换的后缀的处理办法接口如何区分.env.development开发和.env.production生产环境接口在生产环境下,还能使用proxy代理地址吗? vite的proxy开发环境设置 环境: vite 4…

文章目录

    • vite的proxy开发环境设置
    • 如果后端没有提供可以替换的'/mis'等可替换的后缀的处理办法
    • 接口如何区分.env.development开发和.env.production生产环境
    • 接口在生产环境下,还能使用proxy代理地址吗?

vite的proxy开发环境设置

环境:

  • vite 4.4.9(2023-9-27为止的最新版)
  • vue3 3.3.4(2023-9-27为止的最新版)
  • vant 4.6.8(2023-9-27为止的最新版)-这个只是UI框架,不影响配置
  • nodejs 16.16.0

开发环境配置需要在vite.config.js中进行。

完整代码如下:

import { defineConfig } from "vite";
import path from "path";
import vue from "@vitejs/plugin-vue";
import Components from "unplugin-vue-components/vite";
import { VantResolver } from "@vant/auto-import-resolver";function resolve(dir) {return path.join(__dirname, dir);
}export default defineConfig({//解决在路径中用@代替src目录resolve: {alias: { "@": resolve("src") },},plugins: [vue(),Components({resolvers: [VantResolver()],}),],//这个是新增的本地服务器与proxy代理设置server: {open: false,port: 5171,https: false,hotOnly: false,proxy: {"/mis": {target: "http://www.imqd.cn",changeOrigin: true, //是否跨域// rewrite: (path) => path.replace(/^\/mis/, ""), //因为后端接口有mis前缀,所以不需要替换// ws: true,                       //是否代理 websockets// secure: true, //是否https接口},},},
});

重点关注'/mis'这里

如果是要访问后端的这个接口:http://www.imqd.cn/mis/auth/login,且你在request.js中写接口时,不想写mis/auth/login,而是想写/auth/login时,就需要像上面配置。它的意思是将本地的地址通过代理转发替换为后端地址,让它以为是同域请求。

更简单的理解是,它会找到后端接口的url中的'/mis',将其换为本地地址。

意思就是:http://www.imqd.cn/mis/auth/login会换成http://localhost/auth/login,但是这样会报404错误,因为替换后,接口少了mis,就需要加上才行,就比如本地http://192.168.8.87:5171/mis/auth/login的这个接口其实要等价访问后端的http://www.imqd.cn/mis/auth/login这个接口才行。添加的办法如下:

.env.development文件中写一个变量,统一添加该前缀:

# base api
VITE_BASE_API = '/mis'

这时不用写rewrite了。表示请求的本地地址和跨域地址一样,只是域名不一样,如下所示:

http://localhost:5171/mis/auth/login //本地
http://www.imqd.cn/mis/auth/login  //要代理的后端真实接口地址

如果后端没有提供可以替换的’/mis’等可替换的后缀的处理办法

如果后端提供的接口没有/mis等后缀,接口地址直接为:http://www.imqd.cn/auth/login那怎么设置请求代理地址呢?

这时也简单,可以用任意后缀来代替,最常见的就是用/api代替了,比如本地请求用http://localhost/api/auth/login来代理http://www.imqd.cn/auth/login,这样就需要修改vite.config.js如下:

proxy: {"/api": {target: "http://www.imqd.cn",changeOrigin: true, //是否跨域rewrite: (path) => path.replace(/^\/api/, ""), //后端接口没有api后缀,所以需要替换// ws: true,                       //是否代理 websockets// secure: true, //是否https接口},
},

然后在.env.development文件中改为VITE_BASE_API = '/api'即可

接口如何区分.env.development开发和.env.production生产环境

其实对应的就是如何使用.env.development.env.production环境。

可以在package.json中看到vitescript

"scripts": {"dev": "vite --mode development","start": "vite --host 192.168.8.87","build": "vite build"},

默认情况下,'npm run dev'即为开发环境,npm run build即为生产环境,不管在哪种环境下,你可以通过在代码中使用import.meta.env.VITE_BASE_API来调用两种开发环境的env文件下的VITE_BASE_API变量的值,如果是开发环境,就会读取.env.development中的值,生产环境,就会读取.env.production中的值。

接口在生产环境下,还能使用proxy代理地址吗?

请注意,这也是很多人会忽略的。只有在开发环境才会走vue.config.js里面的代码,proxy的代理才会生效。在生产环境下,因为前端代码已经被工程化构建化了(即dist目录下的文件),只有纯前端代码,他通常会部署到和后端服务一样的域名下,用的是相对地址,就不存在跨域了。.env.production中设置的变量也在构建过程中体现并分布到了各个接口中,如下图所示:

image-20230927141848232

如果你在web前端开发、面试、前端学习路线有困难可以加我V:imqdcnn。免费答疑,行业深潜多年的技术牛人帮你解决bug。

祝你能成为一名优秀的WEB前端开发工程师!

http://www.khdw.cn/news/69078.html

相关文章:

  • 毕业设计做网站论文好写吗专业关键词优化平台
  • 有专门做背景音乐的网站吗域名解析
  • 各类网站排名百度收录规则2022
  • 那个网站专门做二手衣服品牌推广的渠道有哪些
  • 盐城网站建设包括哪些优化关键词的方法
  • 相册制作软件appseo的中文名是什么
  • asp.net网站创建浏览器快捷图标网络营销课程实训总结
  • 如何做网站访问量的统计企业管理培训课程
  • 北京市网站建设企业怎么查询最新网站
  • 如何做企业网站宣传广州seo推广运营专员
  • wordpress后台转中文seo优化服务价格
  • 网站制作最便宜网站搜索引擎优化的步骤
  • 建网站如何上传免费找客源软件
  • WordPress默认头像修改方法seo最新优化技术
  • 什么网站可以做护考题千锋教育培训机构怎么样
  • 广州网站关键词优化推广有创意的营销案例
  • 网站建设沙漠风产品推广策划方案
  • 吉首建设局网站西安网站建设
  • 酷炫flash网站网络营销成功的案例及其原因
  • 网站文章内容页keyword设置百度关键词推广价格
  • 固始做网站无锡今日头条新闻
  • 企业网站的建设水平直接关系到网络营销的效果友情链接外链
  • 国家合同模板网站关键词首页排名优化
  • 做电影数据的网站宁波seo推广方式排名
  • 深圳网站建设seo推广优化网络营销推广方案策划
  • 免费送网站深圳搜索排名优化
  • 合肥有哪些做网站的企业如何做网络推广
  • 昆山高端网站建设班级优化大师免费下载
  • 网站环境搭建免费网站在线客服软件
  • 专业做企业网站最近的新闻有哪些