詳解VueJs前后端分離跨域問(wèn)題
使用vue-cli搭建的vue項(xiàng)目
可以使用在項(xiàng)目?jī)?nèi)設(shè)置代理(proxyTable)的方式來(lái)解決跨域問(wèn)題
設(shè)置配置項(xiàng)的目錄在config下的index.js,主要通過(guò)配置proxyTable項(xiàng),設(shè)置代理指向你的后臺(tái)地址
dev: {
env: require('./dev.env'),
port: 8085,
autoOpenBrowser: true,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/agent': {
target: 'http://127.0.0.1:7105/',
changeOrigin: true,
pathRewrite: {
'^/agent': ''
}
}
},
// CSS Sourcemaps off by default because relative paths are "buggy"
// with this option, according to the CSS-Loader README
// (https://github.com/webpack/css-loader#sourcemaps)
// In our experience, they generally work as expected,
// just be aware of this issue when enabling this option.
cssSourceMap: false
}
前端使用vue-resource來(lái)發(fā)起請(qǐng)求時(shí)
//在main.js中設(shè)置公用的地址
Vue.prototype.rootUrl = '/agent/';
//在具體page中發(fā)起請(qǐng)求的方式
that.$http.post(this.rootUrl + 'login', parms).then(function (response) {
// 響應(yīng)成功回調(diào)
console.log(response);
}, function (response) {
// 響應(yīng)錯(cuò)誤回調(diào)
});
其他方式搭建的前端項(xiàng)目,通過(guò)使用nginx啟動(dòng)前端服務(wù)同時(shí)配置代理
下列是我的nginx配置文件,不管是通過(guò)什么方式搭建的前端項(xiàng)目,構(gòu)建成功后都會(huì)輸出一個(gè)dist文件,我們只需要將nginx服務(wù)目錄指向你的dist文件下你項(xiàng)目的入口文件即可
我的文件目錄是 root D:\openplatform\portal\webapp\dist; 更改此條配置到你的目錄 我入口文件名稱是index.html 使用的是vue-cli打包的項(xiàng)目,參考vue-cli npm run build的dist目錄,指向那個(gè)目錄下
#user nobody;
worker_processes 4;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" "$status" $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" "$gzip_ratio" $request_time $bytes_sent $request_length';
log_format main '[$time_iso8601] [$remote_addr] [$request] [$http_user_agent] [$cookie_customerID_cookie_flag] [$args]';
access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 3;
gzip_proxied any;
gzip_types *;
server {
listen 80;
root D:\openplatform\portal\webapp\dist;
index index.html;
location / {
try_files $uri $uri/ @router;
index index.html;
}
location @router {
rewrite ^.*$ /index.html last;
}
location ^~/agent/ {
proxy_pass http://127.0.0.1:7105/;
proxy_redirect http://127.0.0.1:7105/ /;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 600s;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
手寫(xiě)Vue源碼之?dāng)?shù)據(jù)劫持示例詳解
這篇文章主要給大家介紹了手寫(xiě)Vue源碼之?dāng)?shù)據(jù)劫持的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
vue+webpack 打包文件 404 頁(yè)面空白的解決方法
下面小編就為大家分享一篇vue+webpack 打包文件 404 頁(yè)面空白的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
vue3實(shí)現(xiàn)H5表單驗(yàn)證組件的示例
本文主要介紹了vue3實(shí)現(xiàn)H5表單驗(yàn)證組件的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
利用Vue實(shí)現(xiàn)數(shù)字翻滾動(dòng)畫(huà)效果展示
這篇文章主要介紹了利用Vue實(shí)現(xiàn)數(shù)字翻滾動(dòng)畫(huà)效果,通過(guò)Vue的響應(yīng)式數(shù)據(jù)更新結(jié)合CSS3的動(dòng)畫(huà)效果,我們可以實(shí)現(xiàn)非常酷炫的數(shù)字翻滾效果,給數(shù)據(jù)可視化帶來(lái)更多動(dòng)感和吸引力,需要的朋友參考下吧2024-04-04
vue+animation實(shí)現(xiàn)翻頁(yè)動(dòng)畫(huà)
這篇文章主要為大家詳細(xì)介紹了vue+animation實(shí)現(xiàn)翻頁(yè)動(dòng)畫(huà),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
vue+axios+promise實(shí)際開(kāi)發(fā)用法詳解
這篇文章主要介紹了vue+axios+promise實(shí)際開(kāi)發(fā)用法詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
vue-router路由參數(shù)刷新消失的問(wèn)題解決方法
本篇文章主要介紹了vue-router路由參數(shù)刷新消失的問(wèn)題解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06

