背景
在电商系统中,一些场景需要使用nuxt服务器端渲染技术,如首页、商品详情页等等,目的是为了弥补vue单页的seo的不足。
基于nuxt项目的api请求需要处理服务器端请求、客户端请求分离,权限拦截,token统一传递等逻辑,本文以javashop电商系统中的代码为例,分享相关经验。
一 先引入
首先创建一个resquest.js,这里面存放的是axios配置以及拦截器,最后导出一个axios对象
import Vue from 'vue'
import axios from 'axios'
import https from 'https'
import { Loading } from 'element-ui'
import { api } from '@/ui-domain'
import Storage from '@/utils/storage'
import checkToken from '@/utils/checkToken'
const qs = require('qs')
二 创建axios实例,并且添加默认的配置
const service = axios.create({
timeout: 8000, // 请求超时时间
baseURL: api.buyer, // 后端API,用于在服务器端进行请求
httpsAgent: new https.Agent({
rejectUnauthorized: false
}),
paramsSerializer: params => qs.stringify(params, { arrayFormat: 'repeat' })
})
三 创建request拦截器
配置全屏加载,引入ElementUI库

最低0.47元/天 解锁文章

696

被折叠的 条评论
为什么被折叠?



