微信小程序使用vant weapp报错

本文详细记录了解决微信小程序使用vantweapp过程中遇到的两个常见问题:构建错误的修正方法和组件引入未找到的解决步骤,包括配置packNpmRelationList和正确引入van-button组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果是按照【vant weapp】 来一步步走的,也许会遇到我遇到的错误。

我的踩坑,希望能够帮你解决问题。

错误一:构建错误

在这里插入图片描述

当按照vant weapp快速上手的指引一步步走,到了步骤四 构建 npm 包遇到了第一个坑。

这个报错其实是因为上一步配置packNpmRelationList时的路径不准确的问题。

解决办法:

   "packNpmRelationList": [
      {
        "packageJsonPath": "./package.json",
        "miniprogramNpmDistDir": "./node_modules/"
      }
    ]

如此即可构建成功

在这里插入图片描述

错误二:[“usingComponents”][“van-button”] 未找到

在这里插入图片描述

这是遇到的第二个坑,这个坑有点让人疑惑。明明是完全按照官方文档来的,为什么会出现问题呢?不信邪的我又前前后后重新创建了三四个小程序,重新走这个过程。无一例外,全部都是这个问题。

百度好久,google好久。看了好多相关文章,发现那些文章有一个共同点

npm 构建生成 miniprogram_npm

但是我仔细看了看我的小程序,确定没有这个文件。为什么别人有,我却没有???是不是哪里出问题了???或者说流程颠倒了???

想到这,准备参考官方文档,然后适当的调整一下步骤流程。果然,成功了。

下面就是我安装使用成功的步骤。

我的安装流程

1. 重新创建项目

在创建项目这一步骤不再进行赘述

创建完成,此时的目录结构
在这里插入图片描述

2. 初始化npm

前提是你已经安装了nodenpm

npm init -y

在这里插入图片描述

3. 安装插件

npm i @vant/weapp -S --production

在这里插入图片描述

4. 勾选npm & npm构建

在这里插入图片描述
注意
如果有使用npm模块选项,就进行勾选,然后构建npm
如果没有也不用纠结,直接构建npm

我这里就没有使用npm模块选项这个选项

注意:

如果是新版本的微信开发者工具,需要修改步骤5的路径为:"miniprogramNpmDistDir": "./"

构建完成后,注意看项目的目录结构多了一个文件夹:
在这里插入图片描述
到了这,我们才有了别人有的文件夹。

5. 修改 project.config.json

{
  ...
  "setting": {
    ...
    "packNpmManually": true,
    "packNpmRelationList": [
      {
        "packageJsonPath": "./package.json",
        "miniprogramNpmDistDir": "./miniprogram/"
      }
    ]
  }
}

6. 引入组件

如果发现报错Error: module "miniprogram_npm/@vant/weapp/common/component.js" is not defined,不要紧张,刷新一下即可。

你可以选择在app.json引入,也可以在指定组件的json文件里进行引入

我是在app.json里引入:

"usingComponents": {
  "van-button": "@vant/weapp/button/index"
}

在这里插入图片描述

7. 使用组件

  <van-button type="default">默认按钮</van-button>
  <van-button type="primary">主要按钮</van-button>
  <van-button type="info">信息按钮</van-button>
  <van-button type="warning">警告按钮</van-button>
  <van-button type="danger">危险按钮</van-button>

在这里插入图片描述

8. “style”: “v2”

在 vant weapp官方文档给了这么一句:

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

所以看个人情况,是否要删除这一句~

<think>嗯,用户现在想了解微信小程序云开发中如何使用npm或者解决相关问题。我之前提供的引用里提到过,小程序从基础库版本2.2.1开始支持npm安装第三方包,比如引用[4]里有提到WeUI、Vant Weapp这些UI组件库。所以,我需要先整理一下在云开发环境下使用npm的步骤。 首先,用户可能需要知道如何在小程序项目中初始化npm,安装第三方包。比如,使用npm init命令生成package.json,然后安装需要的包,比如vant-weapp。然后,记得在微信开发者工具中构建npm,这样才能正确引入组件。同时,可能需要修改app.json,使用useExtendedLib扩展库,避免占用主包大小。 另外,用户可能会遇到常见问题,比如npm构建失败,这时候需要检查node_modules和miniprogram_npm目录是否正确,或者版本是否兼容。还有自定义组件的路径问题,可能需要调整路径配置。另外,云函数中使用npm的话,和普通node.js项目类似,但需要上传安装的依赖,可能需要使用npm install --production来减少体积。 需要确保步骤清晰,分点说明,包括初始化、安装、构建、配置组件,以及云函数中的使用。同时,常见问题部分要覆盖可能遇到的错误,比如构建失败、组件未找到、版本兼容性问题、云函数依赖上传等。可能还需要提醒用户检查开发者工具中的设置,比如是否勾选了“使用npm模块”和“上传时自动处理依赖”。 最后,生成相关问题的时候,可以围绕优化npm使用、云函数依赖问题、UI库推荐、云开发的其他功能展开。这样用户如果有进一步的问题,可以顺着这些方向继续探索。</think>### 微信小程序云开发中使用npm的完整教程 #### 一、基础配置步骤 1. **项目初始化npm环境** - 在小程序项目根目录下执行以下命令生成`package.json`: ```bash npm init -y ``` - 安装第三方包(以`vant-weapp`为例): ```bash npm install vant-weapp --production ``` 2. **构建npm模块** - 在微信开发者工具中: `工具` → `构建npm`,生成`miniprogram_npm`目录[^4]。 - 若构建失败,检查是否勾选`设置` → `项目设置` → `使用npm模块`。 3. **组件引入配置** 在`app.json`中添加组件路径(以Vant按钮组件为例): ```json { "usingComponents": { "van-button": "vant-weapp/button/index" } } ``` 4. **扩展库优化(可选)** 使用`useExtendedLib`减少主包体积: ```json { "useExtendedLib": { "kivieui": true } } ``` #### 二、云函数中使用npm 1. **云函数依赖安装** - 进入云函数目录(如`cloudfunctions/login`): ```bash npm install axios --production ``` - 上传云函数时需勾选`自动安装依赖`[^2]。 2. **依赖管理规范** - 云函数本地调试需保持`node_modules`完整性。 - 若云环境报错`Module not found`,尝试重新安装并上传: ```bash rm -rf node_modules && npm install --production ``` #### 三、常见问题解决 1. **构建npm失败** - 检查`miniprogram_npm`目录是否生成。 - 确认`package.json`中依赖版本与小程序兼容(如Vant需≥1.0.0)[^4]。 2. **组件路径错误** 若提示`组件未找到`,修改路径为相对路径: ```json "van-button": "/miniprogram_npm/vant-weapp/button/index" ``` 3. **云函数依赖上传失败** - 在`project.config.json`中确认云函数目录已正确关联。 - 使用`wx.cloud.uploadFile`上传大体积依赖时需分片处理[^3]。 4. **版本兼容性问题** 小程序基础库需≥2.2.1,并在`app.json`中声明: ```json "libVersion": "2.25.0" ``` #### 四、性能优化建议 - 使用`npm prune --production`剔除开发依赖 - 优先选择官方维护组件库(如WeUI、Vant Weapp)[^4] - 云函数冷启动时可通过预加载依赖减少延迟[^2]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值