1、创建vue的项目 vue create project-name
2、安装vant 组件:库安装命令 npm install vant@next --save (因为使用的是vue3.x 所以要安装vant的针对vue3的版本 vant@next)
3、vant的进阶使用 npm i postcss postcss-pxtorem amfe-flexible --save (用来将px尺寸转化为rem尺寸)
4、配置rem的根元素字体大小 安装lib-flexiable 安装命令 npm i amfe-flexible --save5、注意
这里会报错 postCss 需要8的版本
所以这里建议对postcss-pxtorem进行降级
降级命令 npm install postcss-pxtorem@5.1.1 --save
5、使用vant组件库
// 1.在main.js中引入vant组件库 import vant from 'vant' createApp(App).use(vant).$mount('#app) // 2.在main.js中导入配置根节点字体大小的方法 import 'amfe-flexible'
6、接下来在项目根目录中新建一个postcss.config.js 写入以下代码
// postcss.config.js module.exports = { plugins: { // postcss-pxtorem 插件的版本需要 >= 5.0.0 'postcss-pxtorem': { rootValue({ file }) { // 判断是否是vant的文件 如果是就使用 37.5为根节点字体大小 // 否则使用75 因为vant使用的设计标准为375 但是市场现在的主流设置尺寸是750 return file.indexOf('vant') !== -1 ? 37.5 : 75; }, // 配置哪些文件中的尺寸需要转化为rem *表示所有的都要转化 propList: ['*'], }, }, };
搭建ajax避免不好维护
1、在src中创建一个 utils 文件夹 放ajax请求
一、创建:server.js 文件中
// 封装axios请求的模块 import axios from 'axios' // 用axios重新生成了请求的实例 const server = axios.create({ baseURL: 'https://api.it120.cc', // 项目发送axios请求的公共地址 timeout: 5000 // 请求超时时间 这里是请求超过五秒后还没有获得请求结果 提示请求超时 }) // axios请求阶段相关配置 // 请求拦截 // interceptors axios的拦截对象 request请求的意思 use使用的意思 // 这里的整体意思就是使用请求拦截 server.interceptors.request.use(config => { // config包含了请求相关的所有信息 // 可以同过config对象给请求配置或者修改信息 config.headers.token = '11111' return config // 将配置完成的token返回 如果不返回 请求不会继续进行 }, err => { // 请求发生错误时的回调函数 // 这里的意思是请求发送错误时将错误抛出 // throw new Error(err) // console.error(err) //将错误信息打印在控制台中 Promise.reject(err) // 使用promise将错误信息返回出去 }) // axios 接受到服务器响应信息后的配置 // response 是响应的意思 这里的意思是使用响应拦截 server.interceptors.response.use(res => { // res包含了服务器返回的所有响应信息 其实就是服务器返回给你的东西 return res.data }, err => { // 当服务器响应产生错误时的回调函数 console.error(err) // 这里将服务器发生错误的错误信息打印在控制台中 }) export default server
二、request.js 文件
import server from './server' // 这里的server其实就是aixos 只不过包含了我们配置的相关信息 export default function request({ url = '', method = 'get', data = {}, params = {} }) { return server({ url, method, data, params }) }
2、api 文件夹、
三、 index.js 文件
// 这里来封装api请求模块 // 因为在正常开发中 需要ajax请求有很多 如果我们讲请求都分散在每一个页面中 // 那么当请求需要维护修改时 我们就需要找到具体的页面才能进行修改 如果页面很多 // 就会造成很多大的维护困难 所以我们讲所有的api请求放在请求模块中 // 如果需要维护我们只需要维护当前模块就可以了,不需要再去找具体的页面 import request from '../utils/request' // 请求首页banner图的请求 const getBanners = async() => { // request('/small4/banner/list').then(res => { // console.log(res.data); // }) let { data } = await request({ url: '/small4/banner/list' }) // console.log(data); return data } export { getBanners }