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
- anaconda 設定代理
- pnpm 設定代理NPM
- docker 設定代理Docker
- linux 設定代理Linux
- 代理的設定
- npm 設定埠代理NPM
- 8-1-2設定本地代理
- vite 設定網路代理Vite
- ubuntu 給 apt 設定代理UbuntuAPT
- MacOS設定終端代理Mac
- Python怎麼設定代理Python
- Mac怎麼設定代理IP,蘋果系統設定http代理ip教程Mac蘋果HTTP
- Vue——Vue專案本地伺服器設定既能localhost訪問又能手機IP訪問Vue伺服器localhost
- Apache虛擬目錄配置及vue-cli反向代理的設定方法ApacheVue
- 為Docker容器設定http代理DockerHTTP
- mumu模擬器設定代理
- Java怎麼設定代理使用?Java
- Python requests設定代理的方法Python
- JAVA設定http請求代理JavaHTTP
- Python代理IP的使用和代理池的設定Python
- Python爬蟲技巧---設定代理IPPython爬蟲
- Mac OS iTerm 控制檯設定代理Mac
- iOS 設定代理(Proxy)方案總結iOS
- Vue與ASP.NET Core Web Api設定localhost與本地ip地址皆可訪問VueASP.NETWebAPIlocalhost
- 如何用海外HTTP代理設定python爬蟲代理ip池?HTTPPython爬蟲
- Next 設定字型檔案cdn 或者本地
- git 設定代理下載 webrtc程式碼GitWebC程式
- vscode 編輯器內網代理設定VSCode內網
- HttpClientBuilder中設定代理伺服器 - TCoolsITHTTPclientUI伺服器
- Nginx代理設定 Host 和 X-Forward-ForNginxForward
- 為Windows 10 UWP 應用設定代理Windows
- win10系統怎麼設定全域性代理_win10系統如何設定全域性代理Win10
- vue element 多語言設定Vue
- 安卓模擬器怎麼設定代理安卓
- 【Angular】設定代理解決跨域問題Angular跨域
- 如何在 openSUSE 中使用 Zypper Configuration 設定代理