当前位置:   article > 正文

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

vue3如何创建一个移动端项目

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. // 1.在main.js中引入vant组件库
  2. import vant from 'vant'
  3. createApp(App).use(vant).$mount('#app)
  4. // 2.在main.js中导入配置根节点字体大小的方法
  5. import 'amfe-flexible'

 6、接下来在项目根目录中新建一个postcss.config.js 写入以下代码

  1. // postcss.config.js
  2. module.exports = {
  3. plugins: {
  4. // postcss-pxtorem 插件的版本需要 >= 5.0.0
  5. 'postcss-pxtorem': {
  6. rootValue({ file }) { // 判断是否是vant的文件 如果是就使用 37.5为根节点字体大小
  7. // 否则使用75 因为vant使用的设计标准为375 但是市场现在的主流设置尺寸是750
  8. return file.indexOf('vant') !== -1 ? 37.5 : 75;
  9. },
  10. // 配置哪些文件中的尺寸需要转化为rem *表示所有的都要转化
  11. propList: ['*'],
  12. },
  13. },
  14. };

1、在src中创建一个 utils 文件夹 放ajax请求

一、创建:server.js   文件中

  1. // 封装axios请求的模块
  2. import axios from 'axios'
  3. // 用axios重新生成了请求的实例
  4. const server = axios.create({
  5. baseURL: 'https://api.it120.cc', // 项目发送axios请求的公共地址
  6. timeout: 5000 // 请求超时时间 这里是请求超过五秒后还没有获得请求结果 提示请求超时
  7. })
  8. // axios请求阶段相关配置
  9. // 请求拦截
  10. // interceptors axios的拦截对象 request请求的意思 use使用的意思
  11. // 这里的整体意思就是使用请求拦截
  12. server.interceptors.request.use(config => {
  13. // config包含了请求相关的所有信息
  14. // 可以同过config对象给请求配置或者修改信息
  15. config.headers.token = '11111'
  16. return config // 将配置完成的token返回 如果不返回 请求不会继续进行
  17. }, err => {
  18. // 请求发生错误时的回调函数
  19. // 这里的意思是请求发送错误时将错误抛出
  20. // throw new Error(err)
  21. // console.error(err) //将错误信息打印在控制台中
  22. Promise.reject(err) // 使用promise将错误信息返回出去
  23. })
  24. // axios 接受到服务器响应信息后的配置
  25. // response 是响应的意思 这里的意思是使用响应拦截
  26. server.interceptors.response.use(res => {
  27. // res包含了服务器返回的所有响应信息 其实就是服务器返回给你的东西
  28. return res.data
  29. }, err => {
  30. // 当服务器响应产生错误时的回调函数
  31. console.error(err) // 这里将服务器发生错误的错误信息打印在控制台中
  32. })
  33. export default server

二、request.js  文件

  1. import server from './server'
  2. // 这里的server其实就是aixos 只不过包含了我们配置的相关信息
  3. export default function request({ url = '', method = 'get', data = {}, params = {} }) {
  4. return server({
  5. url,
  6. method,
  7. data,
  8. params
  9. })
  10. }

2、在建一个api 文件夹、

                三、  index.js 文件

  1. // 这里来封装api请求模块
  2. // 因为在正常开发中 需要ajax请求有很多 如果我们讲请求都分散在每一个页面中
  3. // 那么当请求需要维护修改时 我们就需要找到具体的页面才能进行修改 如果页面很多
  4. // 就会造成很多大的维护困难 所以我们讲所有的api请求放在请求模块中
  5. // 如果需要维护我们只需要维护当前模块就可以了,不需要再去找具体的页面
  6. import request from '../utils/request'
  7. // 请求首页banner图的请求
  8. const getBanners = async() => {
  9. // request('/small4/banner/list').then(res => {
  10. // console.log(res.data);
  11. // })
  12. let { data } = await request({ url: '/small4/banner/list' })
  13. // console.log(data);
  14. return data
  15. }
  16. export {
  17. getBanners
  18. }

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

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

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

  1. html, body, div, span, applet, object, iframe,
  2. h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  3. a, abbr, acronym, address, big, cite, code,
  4. del, dfn, em, img, ins, kbd, q, s, samp,
  5. small, strike, strong, sub, sup, tt, var,
  6. b, u, i, center,
  7. dl, dt, dd, ol, ul, li,
  8. fieldset, form, label, legend,
  9. table, caption, tbody, tfoot, thead, tr, th, td,
  10. article, aside, canvas, details, embed,
  11. figure, figcaption, footer, header, hgroup,
  12. menu, nav, output, ruby, section, summary,
  13. time, mark, audio, video {
  14. margin: 0;
  15. padding: 0;
  16. border: 0;
  17. font-size: 100%;
  18. font: inherit;
  19. vertical-align: baseline;
  20. text-decoration: none;
  21. outline: none;
  22. }
  23. /* HTML5 display-role reset for older browsers */
  24. article, aside, details, figcaption, figure,
  25. footer, header, hgroup, menu, nav, section {
  26. display: block;
  27. }
  28. body {
  29. line-height: 1;
  30. }
  31. ol, li {
  32. list-style: none;
  33. }
  34. blockquote, q {
  35. quotes: none;
  36. }
  37. blockquote:before, blockquote:after,
  38. q:before, q:after {
  39. content: '';
  40. content: none;
  41. }
  42. table {
  43. border-collapse: collapse;
  44. border-spacing: 0;
  45. }
  46. *{
  47. box-sizing: border-box;
  48. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/751517
推荐阅读
相关标签
  

闽ICP备14008679号