VUE 設定本地代理
配置proxyTable
在vue-cli專案中的config資料夾下的index.js配置檔案中,找到 proxyTable 的位置:
dev: {
env: require('./dev.env'),
port: 8080,
autoOpenBrowser: true,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {}, // 在這兒呢
// 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-cli專案中的config資料夾內新建 proxyConfig.js 檔案:
module.exports = {
proxy: {
'/api': {
target: 'https://api.douban.com', // 介面域名
changeOrigin: true, //是否跨域
pathRewrite: {
'^/api': '' // 因為在 ajax 的 url 中加了字首 '/api',而原本的介面是沒有這個字首的,所以需要通過 pathRewrite 來重寫地址,將字首 '/api' 轉為 '/'
}
}
}
}
在剛剛開啟的 index.js 檔案中引入 proxyConfig.js 檔案:
var proxyConfig = require('./proxyConfig')
在 proxyTable 位置 寫上 proxyConfig.proxy
dev: {
env: require('./dev.env'),
port: 8080,
autoOpenBrowser: true,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: proxyConfig.proxy, // 在這兒呢
// 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
}
然後執行命令 npm run dev
,這時代理便已經配置好了
跨域問題
代理只是在開發環境(dev)中解決了跨域問題,生產環境中真正部署到伺服器上如果是非同源還是存在跨域問題
前端處理
config/dev.env.js 配置:
module.exports = merge(prodEnv, {
NODE_ENV: 'development',
API_HOST:"/api/" // 開發環境中使用上面配置的代理地址api
})
prod.env.js 配置:
module.exports = {
NODE_ENV: 'production',
API_HOST:'https://api.douban.com' //,生產環境下使用介面地址
}
配置好後程式會自動判斷當前是開發還是生產環境,然後自動匹配API_HOST。接下來在元件中我們就可以通過process.env.API_HOST
使用地址
this.$axios.get(process.env.API_HOST+"v2/movie/top250?count=20",null).then(function(res){
(res.status === 200) && (that.articles = res.data.subjects)
});
後端處理
後端伺服器配置允許cros跨域,即access-control-allow-origin:*允許所有訪問的意思。
(此方法ie9及以下不好使。可使用 nginx 反向代理,一勞永逸 <– 線上環境可以用這個)
本地通過修改hosts檔案實現域名本地解析
檔案路徑一般是C:\Window\System32\drivers\etc,開啟 hosts 檔案,在後面加入下面內容:
192.168.15.30 https://api.douban.com
相關文章
- 在vue-cli專案設定代理proxyTableVue
- Vue + nuxt.js 用 axios 設定代理配置VueUXJSiOS
- Nginx 代理設定Nginx
- pnpm 設定代理NPM
- 代理的設定
- docker 設定代理Docker
- 8-1-2設定本地代理
- Git中設定代理和取消代理Git
- npm 設定埠代理NPM
- nginx 反向代理設定Nginx
- Gradle 代理設定Gradle
- sdk更新代理設定
- anaconda 設定代理
- linux 設定代理Linux
- Mac怎麼設定代理IP,蘋果系統設定http代理ip教程Mac蘋果HTTP
- MacOS設定終端代理Mac
- Nginx、haproxy反向代理設定Nginx
- 為終端設定代理
- tomcat代理的設定Tomcat
- git 設定和取消代理Git
- C# WebBrowser設定代理C#Web
- ubuntu 給 apt 設定代理UbuntuAPT
- vite 設定網路代理Vite
- Vue——Vue專案本地伺服器設定既能localhost訪問又能手機IP訪問Vue伺服器localhost
- Apache虛擬目錄配置及vue-cli反向代理的設定方法ApacheVue
- vue代理Vue
- Python怎麼設定代理Python
- 為Docker容器設定http代理DockerHTTP
- Java怎麼設定代理使用?Java
- 為wget命令設定代理wget
- FindProxyForURL設定瀏覽器代理瀏覽器
- java程式設定http,socks代理JavaHTTP
- mumu模擬器設定代理
- JAVA設定http請求代理JavaHTTP
- Python代理IP的使用和代理池的設定Python
- Vue與ASP.NET Core Web Api設定localhost與本地ip地址皆可訪問VueASP.NETWebAPIlocalhost
- Python requests設定代理的方法Python
- Mac OS iTerm 控制檯設定代理Mac