• vue3+ts+vant移动端H5项目搭建


    使用vue-cli搭建项目

    1.全局安装vue-cli

    npm install -g @vue/cli
    
    • 1
    • 安装完成验证
    vue -V
    
    • 1

    在这里插入图片描述

    2.使用vue ui 可视化创建项目

    2.1 vue ui

    vue ui
    
    • 1

    在这里插入图片描述

    2.2 点击创建

    在这里插入图片描述
    点击创建
    在这里插入图片描述
    在learn目录下创建项目
    在这里插入图片描述
    在这里插入图片描述
    填写创建的项目名,选择包管理器npm

    2.3 点击下一步

    选择手动,点击下一步
    在这里插入图片描述

    2.4 选择功能

    选好点击下一步
    在这里插入图片描述

    2.5 选择配置

    在这里插入图片描述
    选择了scss预处理器,格式化及eslint校验
    在这里插入图片描述
    选择创建项目
    在这里插入图片描述
    是否把本次的这些选择做预设,下次直接选择这个预设就不用一步一步选了

    看你自己

    在这里插入图片描述
    等待项目创建完成
    在这里插入图片描述

    3.打开项目

    • 点击左上角项目名,选择在编辑器打开
      在这里插入图片描述
      在这里插入图片描述

    4、安装vant,并实现按需引入

    打开终端

    npm install vant
    
    • 1

    在这里插入图片描述
    在根目录src下新建common文件夹,里面建立vantui.ts文件
    在这里插入图片描述
    vantui.ts文件内容

    import { App } from "vue";
    import { Button } from "vant";
    const Vant = {
      install: (app: App): void => {
        app.use(Button);
      },
    };
    export default Vant;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在main.ts中引入
    在这里插入图片描述
    安装按需引入的插件

    npm i unplugin-vue-components -D
    
    • 1

    在vue.config.js中,增加代码
    在这里插入图片描述

    const { defineConfig } = require("@vue/cli-service");
    const { VantResolver } = require("unplugin-vue-components/resolvers");
    const ComponentsPlugin = require("unplugin-vue-components/webpack");
    module.exports = defineConfig({
      transpileDependencies: true,
      configureWebpack: {
        plugins: [
          ComponentsPlugin({
            resolvers: [VantResolver()],
          }),
        ],
      },
    });
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    测试 在AboutView下测试

    <template>
      <div class="btn-box">
        <van-button block type="primary">登录</van-button>
        <van-button class="register-btn" block color="#fff">注册</van-button>
      </div>
    </template>
    <style lang="scss" scoped>
    .btn-box {
      padding: 0 20px;
      box-sizing: border-box;
      .register-btn {
        color: rgb(76, 155, 240) !important;
      }
    }
    </style>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    效果:
    在这里插入图片描述

    5、移动端适配(rem)

    5.1 安装 amfe-flexible 和 postcss-pxtorem --save在这里插入图片描述

    5.2 在main.ts引入

    在这里插入图片描述

    import "amfe-flexible";
    
    • 1

    5.3 在项目根目录下新建postcss.config.js

    判断下vant组件按375设计稿尺寸走,自己的页面是750的

    module.exports = {
      plugins: {
        "postcss-pxtorem": {
          rootValue({ file }) {
            return file.indexOf("vant") !== -1 ? 37.5 : 75;
          },
          propList: ["*"],
        },
      },
    };
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    效果:
    在这里插入图片描述

    会跟随设备变化,项目大功告成,开始干活吧

  • 相关阅读:
    python入门基础
    mongodb简介、安装、搭建复制集以及切片
    TCP/IP 网络分层模型
    欧拉图(Euler Graph)
    人类睡眠EEG分析:附代码实现的方法学入门
    工具配置-如何在NextCloud私有云盘安装的olnyOffice插件中添加中文字体支持实践操作...
    嬴图Ultipa | 实时图计算如何将反洗钱进行到底?
    Linux 运维工程师面试真题-3-Linux 磁盘及软件管理操作
    Hikari 介绍
    python使用pandas中的read_csv函数读取csv数据为dataframe、查看dataframe数据中是否包含重复数据
  • 原文地址:https://blog.csdn.net/weixin_45730243/article/details/125276058