前言
引入第三方模块时,我遇到了很多坑。

首先是微信、第三方模块的文档描述不清楚。
其次。搜索到的博客,大部分是抄的文档 / 相互转载抄袭。作用有限。

于是,我自己做了各种条件下的测试。
解决各种情况的引入Npm模块的报错、失败。希望对你有帮助。

下面以引入Vant 小程序版 为例,开始测试。

1、小程序路径在中文目录下

在中文路径下新建项目,引入UI失败。

将中文改为英文,重启项目。

UI显示正确。

2、小程序目录下没有初始化package.json文件
微信的“引入npm模块”文档,第一条就是npm命令。
没有提示,让你初始化package文件。那我们来试下:

看到没有,报错了。提示你没有找到package.json。
我们再看下项目目录,发现多了两个文件。

"vant-weapp"文件夹已经被安装到了node_modules目录下。
但是package.json不存在,没有保存对vant-weapp的引用。

我们尝试在微信开发者工具构架npm。会提示你:

下面我们补上这条命令:

一路回车。再次运行:

终于成功了。请你记住,要在小程序项目刚初始化时。

npm i vant-weapp -S --production
1
在这条命令运行之前,先执行 npm init,初始化package.json。

3、引入npm模块时,使用了cnpm
执行cnpm。没有报错。
node_modules目录下生成了2个文件夹。一个带版本号,一个不带。

在微信开发工具“构建npm”。

我们再检查下小程序的miniprogram_npm目录。发现引入了带版本号的npm模块。

接下来。我们关闭微信开发者工具,把这个文件夹改名为“vant-weapp”。

再次运行:

成功!!

以后安装模块可以直接用npm命令。cnpm,也行,但记得手动重命名,删除文件夹的版本号。

4、其它
其它还有一些失败的原因。
比如:

1、json文件中引用模块时,路径写错。
会导致:

这个路径不要傻傻的按照Vant文档的写:

/path/to/vant-weapp/dist/button/index

应该这么写:

前面不用加“…/”。文件夹一定要对应。

2、使用npm模块未勾选

3、组件化引用文件时。(不用npm引入)
引入的组件依赖于其他的组件。引入不全,导致报错。
但npm安装,是把所有的包下载了。应该没这个问题。

结语
---------------------
作者:黑夜的风
来源:CSDN
原文:https://blog.csdn.net/chanlingmai5374/article/details/84922830
版权声明:本文为博主原创文章,转载请附上博文链接!

小程序使用npm模块(引入第三方UI),报错的多种解决办法。的更多相关文章

  1. npm run dev 启动项目报错我的解决办法

    我的报错截屏 解决方案   1.    config文件中 index 文件中的 host 值如果是数字串就将其改为 localhost 2.    再次尝试 如果有遇到其他问题阔以将 node-mo ...

  2. 微信小程序警告设置 enable-flex 属性以使 flexbox 布局生效的解决办法

    微信小程序警告设置 enable-flex 属性以使 flexbox 布局生效的解决办法 具体情况: scroll-view 滚动,设置 display:flex 不生效并警告设置 enable-fl ...

  3. Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法

    转: Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法  更新时间:2018年02月14日 17:13:03   投稿:wdc   我要评论   Java开发中 ...

  4. vue-cli创建的项目中引入第三方库报错 'caller', 'calle', and 'arguments' properties may not be...

    http://blog.csdn.net/sophie_u/article/details/76223978 以在vue中引入mui第三方库为例: 虽然针对vue,有单独的vue-mui库可以使用,但 ...

  5. 微信小程序上传后发布或者体验版测试无数据解决办法

    在做微信小程序开发的过程中,发现小程序在本地调用接口的数据都显示,但是上传之后,发现手机体验没有数据.以下为解决办法: 1.先清除缓存试试. 2.打开微信小程序工具右上角的详情——项目设置,将“不校验 ...

  6. 小程序插件集成functional-page-navigator真机调试报错

    小程序集成插件 插件里面有functional-page-navigator标签 一."小程序开发版已过期,请重新扫码连接" 真机在调用插件的时候报错 "小程序开发版已过 ...

  7. 小程序Page里的函数比app.js先执行的解决办法

    问题描述: 当我们初始化一个小程序时,默认文件 app.js 中有onLaunch函数, onLaunch: function () { console.log("onLaunch" ...

  8. vue-cli创建的项目中引入第三方库报错'caller', 'calle', and 'arguments' properties may not be...

    本文链接:https://blog.csdn.net/Sophie_U/article/details/76223978 问题: 在vue的main.js中引入mui.min.js时,报错. 如上,单 ...

  9. 安卓小程序的一次bug调试,报错:java.lang.NullPointerException,logcat学习

    做实验的时候,调试了很久后模拟器执行后,app还是会崩溃并停止运行,错误如下. 因为初学,所以也不知道怎么使用调试工具,也不懂看日志,经过学习后尝试这查看了LogCat日志上面有这样的提示: 其中引起 ...

随机推荐

  1. [Leetcode] Populating next right pointer in each node 填充每个节点的右指针

    Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...

  2. Oulipo HDU - 1686

    The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e ...

  3. DIV的变高与变宽

    代码: <!DOCTYPE HTML><html><head> <meta charset="utf-8"> <title&g ...

  4. SQL优化单表案例

    数据准备: -- 创建数据库 mysql> create database db_index_case; Query OK, row affected (0.00 sec) -- 查看数据库 m ...

  5. jsonp解析 html

    https://jsoup.org/cookbook/  官网的教程, 很详细! <dependency> <groupId>org.jsoup</groupId> ...

  6. loj6043 「雅礼集训 2017 Day7」蛐蛐国的修墙方案

    传送门:https://loj.ac/problem/6043 [题解] 我们考虑这是个置换,所以一定形成了很多不相交的环. 对于每个环,我们只能选一段.不选.选一段.不选这样交替下去. 显然只有偶环 ...

  7. 金山中学 rugular SRM 04 ——纪念我的第一次Ak

    虽然只是一场比较简单的比赛 但奈何我也比较弱啊.... T1 一道计算概率的题目 T SRM 04 描述 给个长度为 n 的数列,每次操作能将数列打乱(RandomShuffle),问在期望下需要多少 ...

  8. mongodb的数据库操作

    1.创建数据库 语法 MongoDB 创建数据库的语法格式如下: use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 1.创建数据库 > show dbs ...

  9. EL表达式中获取list长度(JSTL函数用法)

    在jsp页面中不能通过${list.size}取列表长度,而是 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" pref ...

  10. shell脚本复制文件夹内容到另外的文件夹,如果存在则自动备份

    有时我们需要将一个文件夹覆盖到我们的工作目录,但需要自动备份已经存在的文件,一个一个去备份太麻烦了,全部备份又没有必要.shell脚本可以很好滴完成这个任务.原文链接http://back.zhizh ...