也就是俗称的前端与后端交互需要同源策略,即如下:
域:服务器域名,唯一标识(协议,域名,端口)必须保证一致,说明域相同
跨域:在一个服务器上,去访问另一个服务器上,并且得到另一个服务器返回回来的值,这就是javascript跨域,其实简单点,之前我们做的ajax,都是在同域中访问,现在只是访问的服务器变成了另外的,不是同一台了。仅此而已。但是这样一变,之前的代码就不能用了。
解决跨域有几种方式
,其中之一就是搭建代理服务器(nginx),让所访问域名、端口、路径相同。但我这里不想用nginx,则可以用VScode 的扩展插件Live Server简单实现。
VSCode 插件Live Server代理设置
Live Server扩展的设置,可以进入设置界面设置,也可以手动设置settings.json,内容如下:
"liveServer.settings.host": "localhost", //域名或IP
"liveServer.settings.port": 5500, //默认端口
"liveServer.settings.wait": 1000, //刷新频率
"liveServer.settings.CustomBrowser": "chrome", //打开到目标浏览器
"liveServer.settings.ChromeDebuggingAttachment": false, //是否开启ChromeDebug
"liveServer.settings.proxy": { //代理设置
"enable": true, //是否开启代理设置
"baseUri": "/api", //代理的访问根路径,如http://localhost:5500/api
"proxyUri": "http://www.xxxx.com:8080/api" //远程服务端接口
设置完后,重启 LiveServer 后,在浏览器输入
http://localhost:5500/api
会被代理到
http://www.xxxx.com:8080/api
接口上,如果代码服务器不可访问,LiveServer 就会忽略proxy属性,以默认的方式打开。通过这个方式,你可直接挂载工程目录到对应的tomcat、jetty、iis、php-fpm等后端目录进行处理。
跨域问题也就是俗称的前端与后端交互需要同源策略,即如下:域:服务器域名,唯一标识(协议,域名,端口)必须保证一致,说明域相同跨域:在一个服务器上,去访问另一个服务器上,并且得到另一个服务器返回回来的值,这就是javascript跨域,其实简单点,之前我们做的ajax,都是在同域中访问,现在只是访问的服务器变成了另外的,不是同一台了。仅此而已。但是这样一变,之前的代码就不能用了。解决跨域有几种方式,其中之一就是搭建代理服务器(nginx),让所访问域名、端口、路径相同。但我这里不想用nginx
作为一个GISer开发者,天地图是经常在项目中以底图的形式出现,其加载地址如:
1.天地图矢量:http://t{0-6}.tianditu.com/Data
Server
?T=vec_w&x={x}&y={y}&l={z}
2.天地图影像:http://t{0-6}.tianditu.com/Data
Server
?T=img_w&x={x}&y={y}&l={z}
3.天地图地形:http://t{0-6}.tianditu.com/Data
Server
?T=ter_w&x={x}&y={y}&l={z}
其中t{0-6}是天地图提供的7个服务器名称t0,t1,t2….
下面是我以openl
随着 JDK 的不断更新,垃圾回收器的效率也越来越高。每一次 JDK 的更新,必然会包含有垃圾回收器的更新,截止目前,在最新的 JDK14 版本中,最新的垃圾回收器为 ZGC。
从垃圾回收器发展至今,出现过很多垃圾回收器,例如:Serial、ParNew、Parallel Scavenge、SerialOld、CMS、Parallel Old、G1、Shenandoah、ZGC 等,虽然
项目开发中想使用
live
-
server
配置个
代理
服务免去在本地搭建后台环境,在网上找了很多
live
-
server
的文章看过后一直没有配置成功,后来终于找到了问题的根源,以下是配置截图:
package.json
项目script
这里配置proxy一定要注意,网上多数文档都没写到
"
live
Server
.settings.host": "localhost",
"
live
Server
.settings.proxy": {
"enable": true,
"baseUri": "/",
"proxyUri": "http://192.168.0.1:8
Launch a development local
Server
with
live
reload feature for static & dynamic pages。
简而言之,一个开服务展示静态或者动态页面的本地服务器。
vscode
在
扩展
Extensions 中搜索
Live
r
Server
,选择并安装它。
最新的版本不需要配置setting首选项那些了。
选择具体的页面,右击文件选择 Open with
Live
r
Server
服务器就启动了,所选择浏览的页面也会在.
在
前端
开发中,经常遇到
跨域问题
,特别是在使用vue进行打包后部署到生产环境时,很容易出现
跨域问题
。而要
解决
这个问题,可以使用
nginx
代理
来
解决
。
首先,我们需要安装
nginx
,安装完成后,可以进入
nginx
的配置文件,一般路径为/etc/
nginx
/
nginx
.conf,然后在http模块中加入如下配置:
http {
server
{
listen 80;
server
_name your.api.com; //这里填写你的API地址
location / {
proxy_pass http://www.your.api.com; //这里填写你的API地址
add_header Access-Control-Allow-Origin *; //允许跨域请求
修改完配置文件后,可以使用
nginx
命令重启
nginx
生效。配置完成后,我们就可以使用vue-cli中的axios进行跨域请求,在请求头部分加上
proxy: '/yourapi' //这里填写你的请求API地址
即可完成请求
代理
。这样,通过
nginx
代理
,我们就可以
解决
vue打包后的
跨域问题
了。