首頁 > web前端 > js教程 > 主體

在vue.js中如何選擇baseurl的方法

亚连
發布: 2018-06-04 10:48:55
原創
3376 人瀏覽過

本篇文章主要介紹了vue.js依照程式碼運行環境選擇baseurl的方法,現在分享給大家,也給大家做個參考。

配置通用的API前綴可以更好在本地透過介面代理轉送取得資料、或部署時在Nginx中做反向代理,但是專案中一旦涉及大量的需要檔案上傳的部分(檔案上傳不走Ajax的方法),我們需要考慮更好管理介面的baseURL,專案中Ajax 請求用axios ,原始程式碼如下

修改前

// 创建axios实例、配置baseURL、超时时间
const service = axios.create({
 baseURL: '/development/api', // 从环境进程中根据运行环境获取的api的base_url
 timeout: 5000         // 请求超时时间
})
登入後複製
/* 保存分配角色 */
export function fetchSaveDisUser (params1) {
 return fetch({
  url: '/user/empower',
  method: 'post',
  params: params1,
  paramsSerializer: function (params) {
   return Qs.stringify(params, { arrayFormat: 'repeat' })
  }
 })
}

/* 上传文件URL 从运行环境process.env中读取API配置 */
export let uploadUrl = '/development/api/doi/analys/upload'
登入後複製

#優化方法

找到config/dev.env.js 和config/prod.env.js,在程式碼中加入變數API_BASEURL(名字自訂)如下:

module.exports = {
 NODE_ENV: '"production"', // PS:不要复制、开发环境和生产环境有区别
 API_BASEURL: '"/development/api/"' // 需要自己添加的代码
}
登入後複製

然後在需要使用baseURL的地方被替換為process.env. API_BASEURL

修改後程式碼如下

// 创建axios实例、配置baseURL、超时时间
const service = axios.create({
 baseURL: process.env.API_BASEURL, // 从环境进程中根据运行环境获取的api的base_url
 timeout: 5000         // 请求超时时间
})
登入後複製
/* 保存分配角色 */
export function fetchSaveDisUser (params1) {
 return fetch({
  url: '/user/empower',
  method: 'post',
  params: params1,
  paramsSerializer: function (params) {
   return Qs.stringify(params, { arrayFormat: 'repeat' })
  }
 })
}

/* 上传文件URL 从运行环境process.env中读取API配置 */
export let uploadUrl = process.env.API_BASEURL + '/doi/analys/upload'
登入後複製

上面是我整理給大家的,希望今後會對大家有幫助。

相關文章:

在React元件中詳細講解this的使用方法。

在Vue元件中如何使用TypeScript的方法(詳細教學)

在vue元件傳遞物件中實作單向綁定,該怎麼做?

以上是在vue.js中如何選擇baseurl的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板