微信小程序使用vant组件库

步骤一 通过 npm 安装

# 通过 npm 安装
npm i @vant/weapp -S --production

# 通过 yarn 安装
yarn add @vant/weapp --production

# 安装 0.x 版本
npm i vant-weapp -S --production

步骤二 修改 app.json

​
将 app.json 中的 "style": "v2" 去除,小程序的新版基础组件强行加上了许多样式,
难以覆盖,不关闭将造成部分组件样式混乱。

​

步骤三 修改 project.config.json

开发者工具创建的项目,miniprogramRoot 默认为 miniprogrampackage.json 在其外部,npm 构建无法正常工作。

需要手动在 project.config.json 内添加如下配置,使开发者工具可以正确索引到 npm 依赖的位置。

{
  ...
  "setting": {
    ...
    "packNpmManually": true,//修改为true
    "packNpmRelationList": [
        //新增以下
      {
        "packageJsonPath": "./package.json",
        "miniprogramNpmDistDir": "./miniprogram/"
      }
    ]
  }
}

步骤四 构建 npm 包

打开微信开发者工具,点击 工具 -> 构建 npm,并勾选 使用 npm 模块 选项,构建完成后,即可引入组件。

 

步骤五 引入组件

以 Button 组件为例,只需要在app.jsonindex.json中配置 Button 对应的路径即可。

所有组件文档中的引入路径均以 npm 安装为例,如果你是通过下载源代码的方式使用 @vant/weapp,请将路径修改为项目中 @vant/weapp 所在的目录。

// 通过 npm 安装
// app.json
"usingComponents": {
  "van-button": "@vant/weapp/button/index"
}
// 通过下载源码使用 es6版本
// app.json
"usingComponents": {
  "van-button": "path/to/@vant/weapp/dist/button/index"
}
// 通过下载源码使用 es5版本
// app.json
"usingComponents": {
  "van-button": "path/to/@vant/weapp/lib/button/index"
}

使用组件

引入组件后,可以在 wxml 中直接使用组件

<van-button type="primary">按钮</van-button>

 

### 微信小程序 Vant 组件库构建 NPM 失败解决方案 在微信小程序开发过程中,当尝试使用 Vant 组件库时遇到无法构建 NPM 包的情况,通常是因为项目配置文件未正确设置或缺少必要的依赖项。以下是针对该问题的具体分析与解决方法。 #### 1. 确认 `miniprogramRoot` 目录内的 NPM 包 确保所有的 npm 包都位于项目的 `miniprogramRoot` 目录下。如果某些包不在指定目录内,则可能导致构建失败。可以通过调整 `project.config.json` 文件中的 `packNpmManually` 和 `packNpmRelationList` 参数来手动管理需要打包的 NPM 资源[^1]。 ```json { "packNpmManually": true, "packNpmRelationList": [ { "packageJsonPath": "node_modules/@vant/weapp/package.json", "alias": {} } ] } ``` 上述代码片段展示了如何通过 `packNpmRelationList` 显式声明需要参与构建的 NPM 包路径及其别名映射关系。 #### 2. 检查并更新 `usingComponents` 对于每个页面或组件,在其对应的 JSON 配置文件中需正确定义所使用Vant 组件路径。例如: ```json { "usingComponents": { "van-button": "@vant/weapp/button/index" } } ``` 此步骤确保了各页面能够正确加载所需的 Vant 组件资源[^3]。 #### 3. 移除不必要的样式版本控制字段 如果发现部分组件样式未能正常显示,可能由于小程序基础库强制应用了一些默认样式而导致冲突。此时应移除 `app.json` 中关于 `"style"` 字段的相关定义(即删除 `"style": "v2"`),从而避免新版基础组件带来的额外影响[^2]。 #### 示例代码:完整的按钮组件引入方式 以下是一个完整示例,展示如何在一个页面中成功集成 Vant 的 Button 组件: ```javascript // index.js Page({ data: {}, }); ``` ```html <!-- index.wxml --> <view> <van-button type="primary">主要按钮</van-button> </view> ``` ```json /* index.json */ { "usingComponents": { "van-button": "@vant/weapp/button/index" } } ``` 以上内容涵盖了从基本配置到实际操作层面解决问题的方法论。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值