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

小企业做网站怎么做如何制作手机购物网站

小企业做网站怎么做,如何制作手机购物网站,做网站和做推广的区别,百度关键词优化大师跨域报错 一 前端日常开发时,项目的部署地址和接口请求的地址一般是同源的,不会跨域。 例如项目的测试环境部署在https://my-dev.BeatingWorldLine.com/xxx, 测试环境的访问接口域名也要相同来保证不跨域https://my-dev.BeatingWorldLine.com/api/xxx, …

跨域报错

在这里插入图片描述

  • 前端日常开发时,项目的部署地址和接口请求的地址一般是同源的,不会跨域。
    例如项目的测试环境部署在https://my-dev.BeatingWorldLine.com/xxx,
    测试环境的访问接口域名也要相同来保证不跨域https://my-dev.BeatingWorldLine.com/api/xxx,

  • 当然,vite等项目构建工具也支持通过环境变量来动态切换访问域名,也可以实现线上的跨域访问。

// .env.development文件 
VITE_BASE_URL = 'https://my-dev.BeatingWorldLine.com/'
// .env.production文件
VITE_BASE_URL = 'https://my.BeatingWorldLine.com/'
//也可以多设置几个变量 在线上环境访问其他域名下的API//axios请求动态获取不同环境下的域名
axios.defaults.baseURL = import.meta.env.VITE_BASE_URL//package.json配置不同环境下的启动命令 来对应不同环境变量下的 VITE_BASE_URL 
//--mode localhost时 由于没有.env.localhost文件配置 需要本地代理  下文说明
"serve": "vite serve --mode localhost",
"dev": "vite build --mode development",
"pro": "vite build --mode production",
  • mode development / mode production 都是项目打包部署到服务器后对应的执行命令。
  • mode localhost 本地开发未配置环境变量时,就需要用到vite-dev-server的本地代理来访问接口了。
//以vite为例,在vite.config.ts中配置proxy如下  类似nginx配置  
//当识别到请求头部为【/other】时,将请求补全并访问https://my-dev.BeatingWorldLine.com/api/xxxserver: {proxy: {'/api': {target: 'https://my-dev.BeatingWorldLine.com/',changeOrigin: true,}}}
  • 当需要访问其他域名接口时,例如【my-test.BeatingWorldLine】。在本地开发的环境下,仅需配置下本地代理即可。
//当识别到请求头部为【/other】时,将请求补全并访问https://my-test.BeatingWorldLine/other/xxxserver: {proxy: {'/other': {target: 'https://my-test.BeatingWorldLine',changeOrigin: true,}}}
  • 环境变量、本地代理,都是前端项目接口访问的配置方式
    • 环境变量可以配置不同环境下固定的接口访问地址,包括开发环境也可以手动配置
    • 本地代理是反向代理,类似于nginx反向代理,都可以解决跨域问题。
      • 反向代理:代表服务端对客户端请求进行拦截转发,隐藏服务端身份接收请求,解决跨域。
      • 正向代理:代表客户端向服务器发送请求,隐藏客户端身份发送请求,科学上网。

本地调试跨域接口可以解决了,那打包部署到线上怎么办呢?

  • 先来了解下跨域

    浏览器因同源策略,在协议、域名或端口号不同时,先向服务器发送OPTIONS预检请求,检查服务端是否允许跨域。若不允许,会阻止跨域请求。

  • 如何解决?
    线上环境,前端项目已经整体打包为静态资源,vite-dev-server无法启动,本地代理自然也无法生效。
    所以就需要在部署域名对应的服务器下,进行CORS跨域配置。
    这样在浏览器发送OPTIONS预检请求时,就会收到服务端允许跨域的配置,从而正常请求。

  • 什么是OPTIONS 预检请求?
    是浏览器在发送某些跨域(CORS,Cross-Origin Resource Sharing)请求前,自动发起的一种 HTTP 请求,用于确认目标服务器是否允许实际请求的跨域行为。

server {listen 80;server_name a.com;  # 你的服务器域名location / {#和前端本地代理原理相同,服务端也可以作为中间人,将请求转发到其他服务来实现负载均衡等业务场景proxy_pass http://backend_service;  # 代理到你的后端服务proxy_set_header Host $host;# 仅当请求来源是 B、C、D 之一时,设置 CORS 头允许跨域if ($cors_origin != "") {add_header Access-Control-Allow-Origin $cors_origin;add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE";add_header Access-Control-Allow-Headers "Content-Type, Authorization";add_header Access-Control-Allow-Credentials true;}# 处理 OPTIONS 预检请求if ($request_method = OPTIONS) {return 204;}}
}

CDN(内容分发网络),在如今的前端项目中很常见。

  • 将打包后前端项目中的静态文件分离(如 JS、CSS、图片、字体文件)。
  • 上传资源到 CDN服务商(如阿里云 OSS + CDN、腾讯云 COS + CDN)并配置部署(本地缓存时间 CDN刷新时间等)。
  • CDN服务器全球分布部署,使用户可以就近访问,加速内容加载。
  • 减少资源加载延迟,提升用户体验。
  • 降低主服务器压力,分担带宽。

CDN = 反向代理服务器 + 缓存设计


文章转载自:

http://oOHgSniY.nqbcj.cn
http://HY74x6CB.nqbcj.cn
http://C3aWQRhw.nqbcj.cn
http://HcFezIhr.nqbcj.cn
http://gKF0oud0.nqbcj.cn
http://QXdo2Rg3.nqbcj.cn
http://6OPqmG0W.nqbcj.cn
http://6kzXdnnO.nqbcj.cn
http://Jyn7BceJ.nqbcj.cn
http://MON9nokS.nqbcj.cn
http://8OebVh4e.nqbcj.cn
http://iHtVFRve.nqbcj.cn
http://T9oZWLBp.nqbcj.cn
http://bP1fLbkr.nqbcj.cn
http://HND8WJaX.nqbcj.cn
http://AxiKLCa1.nqbcj.cn
http://pz0lJVNR.nqbcj.cn
http://TKAXV31E.nqbcj.cn
http://jkpj5F2p.nqbcj.cn
http://oPDyBHEw.nqbcj.cn
http://GVi0jtuO.nqbcj.cn
http://uau89jDb.nqbcj.cn
http://MjkRvkj4.nqbcj.cn
http://UVMUEFwh.nqbcj.cn
http://aD28jKrJ.nqbcj.cn
http://nwy5sjqH.nqbcj.cn
http://1LPQHRPK.nqbcj.cn
http://8wDWwBn1.nqbcj.cn
http://DlS0G0aW.nqbcj.cn
http://iDqezaG0.nqbcj.cn
http://www.dtcms.com/wzjs/632985.html

相关文章:

  • 南山建站公司做app模板网站
  • 网站建设个人主要事迹新浦网站制作网站建设
  • 建设门户网站需要注意什么意思中国纪检监察网站首页
  • wordpress建网站缺点服装商城网站模板
  • 佛山网站seo推广推荐网站制作好在百度里可以搜到吗
  • 东莞化妆品网站建设新网店怎么免费推广
  • 做衣服 网站竞价推广开户多少钱
  • 无锡培训网站建设做的网站需要买什么系统服务器
  • 域名命名网站网店装修素材网站
  • 成都市建设局官方网站在中山网
  • 国内前十网站建设公司杭州python做网站
  • 设计师网站使用不了企业网站设计模板
  • 网站建设团队名称怎样选择网站建设
  • 爱站网关键词搜索但是网站相关内容和程序并没有建设完_其次网站公司给我公司的
  • 鞍山网站建设鞍山如何做企业网站建设
  • 做网站开发钱购物网站设计需要哪些模块
  • 织梦修改网站后备份深圳网络营销网站设计
  • wordpress站点使用期限插件wordpress 调用分类名称
  • 网销网站建设流程网站备案怎么备案
  • 网站开发软件、开发一个网站模版
  • 广州市 住房建设局网站首页html简单网页代码实例
  • 自助建站系统注册关于网站开发的请示
  • 免费php外贸网站模板济南建设工程交易信息网
  • 宣传片拍摄事件优化公司组织结构
  • 天津百度做网站多少钱百姓网招聘
  • 家教网站开发公司本科毕设做网站多少钱
  • 百度网站建设工资电子书资源wordpress主题
  • 天津网站建设设计费用锦兴建筑人才招聘平台
  • 巢湖商城网站建设网站建设彩铃语
  • 江苏网站建设价格竞价sem培训