vue3版本手把手教你如何搭建一个移动端项目。按照步骤来。

本文指导如何使用Vue 3.x和Vant组件库,包括项目初始化、vant组件安装、postcss配置尺寸转换,以及封装axios请求和重置样式。重点讲解了如何配置根元素字体大小和使用Vant组件进行开发。
摘要由CSDN通过智能技术生成

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 --save 注意

这里会报错 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: ['*'],
    },
  },
};

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
}

css在assets文件夹中建一个css文件重置样式

1、common.css 用来写公共样式的,修改里面的样式要经过项目组长同意。

2、reset.css  用子来初始化一些css 基本样式。

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	text-decoration: none;
	outline: none;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, li {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
*{
    box-sizing: border-box;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有两把刷子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值