小程序引入vant-Weapp保姆级教程及安装过程的问题解决

2023-09-17 21:47:09

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

本文同时参与 「掘力星计划」,赢取创作大礼包,挑战创作激励金

当你想在小程序里引入vant时,第一步:打开官方文档,第二步:切到快速上手,然后开始步骤一、步骤二、步骤三?

image-20210925093852009

你只会看到

image-20210925094920494

--------------------------以下是正文-------------------------

如果正准备安装,可以直接跳到下面的【正确的安装姿势】一步一步走,就不会出现问题啦!

问题汇总

可能出现的一些问题汇总

问题一:构建npm,提示找不到package.json文件

按官网,步骤一,通过npm安装,这个时候还没问题,但是当你到第四步点击【构建npm】时,就可能出现

image-20210925104011474

所以在npm安装时,先确保package.json存在,不存在的话先npm init初始化一下项目。新建小程序,默认是没有package.json文件的(嗯反正我的没有🤔)

问题二:构建npm,未找到miniprogram文件

有package.json文件之后,再次点击【构建npm】,又提示

image-20210925104048843

如果出现未找到miniprogram的情况,则自行在根目录创建miniprogram解决这个问题。

问题三:构建npm成功,但是miniprogram里没东西

image-20210925113320459

如果是先npm安装了,发现没有package.json再进行创建的话,package.json里并没有你的依赖信息,所以构建为空。

image-20210925105444951

重新执行npm i @vant/weapp -S --production,在点击构建即可

image-20210925113410473

问题四:引入报错

以为终于安装完可以开始用了,但是.....还是报错!!!

image-20210925101654057

按照快速上手的方法引入组件时,会出现此路径错误

image-20210901143347733

官网是这样

image-20210925101957491

我们需要改成

 

css

复制代码

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

好了,终于用上了。

image-20210925105808938

正确的安装姿势

我们根据以上错误分析,结合官网步骤,来解锁正确的安装姿势

image-20210925110006061

第一步:创建小程序

image-20210925110213893

当前的目录文件是这样的

image-20210925110325999

第二步:先执行

 

csharp

复制代码

npm init

生成package.json文件,我做测试,就直接一直回车了,这个可根据自己需求配置

image-20210925110615636

第三步:通过npm安装(官网步骤一)

 

css

复制代码

npm i @vant/weapp -S --production

image-20210925110705708

第四步: 修改 app.json(官网步骤二)

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

image-20210925110805809

第五步:修改 project.config.json(官网步骤三)

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

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

 

json

复制代码

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

image-20210925111000290

注意: 由于目前新版开发者工具创建的小程序目录文件结构问题,npm构建的文件目录为miniprogram_npm,并且开发工具会默认在当前目录下创建miniprogram_npm的文件名,所以新版本的miniprogramNpmDistDir配置为'./'即可

第六步:在根目录新增miniprogram文件夹

image-20210925111128059

第七步:构建npm包(官网步骤四)

image-20210925111246836

image-20210925111428355

构建完成之后,你会在miniprogram文件看到vant的文件夹,这样代表安装成功,可以开始使用了。

image-20210925111346825

第八步:引入使用

app.jsonindex.json中引入组件

 

css

复制代码

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

image-20210925111644625

然后在wxml就可以开始使用了

image-20210925111749950

结语

如果现在不需要使用那就赶紧收藏一下,万一之后就要用了呢!

image.png


最后再教大家一个小技巧,看图片,对就是头像旁边的那个小手点一下

点赞.gif

作者:Axjy
链接:https://juejin.cn/post/7011742207073845278
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

更多推荐

第 4 章 串(串的块链存储实现)

1.背景说明该实现和链表的实现极为相似,只是将链接的内存拆分为具体的大小的块。2.示例代码1).status.h/*DataStructure预定义常量和类型头文件*/#ifndefSTATUS_H#defineSTATUS_H#defineCHECK_NULL(pointer)if(!(pointer)){\prin

Java之File类的详细解析及小练习

2.File类2.1概述java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。2.2构造方法publicFile(Stringpathname):通过将给定的路径名字符串转换为抽象路径名来创建新的File实例。publicFile(Stringparent,Stringch

GSMA SGP.01协议学习

GSMASGP.01协议学习1简介1.1概述许多机器对机器设备将不易于达到供应订购的目的。这将需要一个新的解决方案来适应这种特殊情况。要求是在假定采用与今天相同或相似的认证协议的情况下,为具有获得移动网络访问所必需的凭证的“无线”远程配置机器对机器设备定义机制。MNO必须能够响应请求,将订阅(合同)从一个MNOA更改为

薄盒借周杰伦IP卖藏品 车翻在奈雪的茶

在瑞幸联名茅台、喜茶联名FENDI、茶百道联名米哈游后,奈雪的茶搭上了周杰伦。9月14日,在《范特西》专辑发行22周年之际,奈雪的茶推出“范特西音乐宇宙”主题的奶茶与周边。周杰伦系IP加持,奈雪的茶卖爆了,范特西Style的奶茶首日销量达146万杯。然而,车翻得也快,当Jay粉以为奈雪的茶联名了周杰伦时,这个奶茶品牌否

MySQL——变量和存储过程

2023.9.18变量系统变量:全局变量会话变量自定义变量:用户变量局部变量一、系统变量说明:系统变量由系统定义,不是用户定义,属于服务器层面注意:全局变量需要添加global关键字,会话变量需要添加session关键字,如果不写,默认会话变量。使用步骤:1、查看所有系统变量showglobal|【session】va

selenium自动化测试入门

Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium是用于自动化控制浏览器做各种操作,打开网页,点击按钮,输入表单等等,可以模拟各种人工操作浏览器的功能,主要用途是自动化测试领域,但是也可以用于爬虫领域,或自动化办公领域。本次只是简单入门操作,在

优化测试准备-通过仿真诊断提高效率

现如今,随着车辆中电子器件和软件数量的快速增加,直接在车辆上测试50-150个ECU变得越来越复杂,且需测试的内容也不再局限于单独的系统,而是包括了各个系统之间的交互,最终导致测试过程中的工作量呈指数级增长。一自动化测试减少了测试工作量面对日益增长的工作量,实现自动化测试可能是解决这个问题的一大关键。对此,必须提升效力

linux万字图文学习进程信号

1.信号概念信号是进程之间事件异步通知的一种方式,属于软中断。1.1linux中我们常用Ctrl+c来杀死一个前台进程1.Ctrl-C产生的信号只能发给前台进程。一个命令后面加个&可以放到后台运行,这样Shell不必等待进程结束就可以接受新的命令,启动新的进程。2.Shell可以同时运行一个前台进程和任意多个后台进程,

mysql数据库备份(mysqldump)

mysqldump命令备份数据mysqldump-uroot-p--databases数据库1数据库2>xxx.sqlmysqldump常用操作示例1.备份全部数据库的数据和结构mysqldump-uroot-p123456-A>/data/mysqlbackup/mydb.sql2.备份全部数据库的结构(加-d参数)

计算机竞赛 深度学习 大数据 股票预测系统 - python lstm

文章目录0前言1课题意义1.1股票预测主流方法2什么是LSTM2.1循环神经网络2.1LSTM诞生2如何用LSTM做股票预测2.1算法构建流程2.2部分代码3实现效果3.1数据3.2预测结果项目运行展示开发环境数据获取最后0前言🔥优质竞赛项目系列,今天要分享的是🚩深度学习大数据股票预测系统该项目较为新颖,适合作为竞

SpringMVC之JSON返回&异常处理机制

一.什么是SpringMVC之JSON返回&异常处理机制二.Json处理导入pom.xml依赖导入Spring-Mvc.xml编写JsonController编写Sql语句测试结果json转换的注解测试结果(@JsonIgnore)三.全局异常处理机制为什么要全局异常处理异常处理思路​编辑自写一个错误代码​编辑输出结果

热文推荐