React、Vue添加全局的請(qǐng)求進(jìn)度條(nprogress)
全局的請(qǐng)求進(jìn)度條,我們可以使用nprogress來實(shí)現(xiàn),效果如下:
首先需要安裝插件:
npm i nprogress -S
然后使用的時(shí)候主要有兩種方式,第一種是切換頁(yè)面的時(shí)候,第二種則是請(qǐng)求接口的時(shí)候。
切換頁(yè)面可以在入口文件添加如下代碼:
import NProgress from 'nprogress' // 引入nprogress插件
import 'nprogress/nprogress.css' // 這個(gè)nprogress樣式必須引入
router.beforeEach((to, from, next) => {
NProgress.start()
next()
})
router.afterEach(() => {
NProgress.done()
})
接口請(qǐng)求的時(shí)候,則是在axios攔截器處進(jìn)行處理,直接上代碼:
// axios請(qǐng)求攔截器
axios.interceptors.request.use(
config => {
NProgress.start() // 設(shè)置加載進(jìn)度條(開始..)
return config
},
error => {
return Promise.reject(error)
}
)
// axios響應(yīng)攔截器
axios.interceptors.response.use(
function(response) {
NProgress.done() // 設(shè)置加載進(jìn)度條(結(jié)束..)
return response
},
function(error) {
return Promise.reject(error)
}
)
當(dāng)然也可以對(duì)進(jìn)度條進(jìn)行樣式自定義
#nprogress .bar {
background: red !important; //自定義顏色
}
歡迎關(guān)注微信公眾號(hào):猴哥說前端