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

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

于是,我自己做了各种条件下的测试。
解决各种情况的引入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. 【CF MEMSQL 3.0 B. Lazy Security Guard】

    time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...

  2. Ajax缓存问题怎么解决?

    项目有时要用一些Ajax的效果,因为比较简单,也就没有去用什么Ajax.net之类的东西,手写代码也就实现了.第二天,有人向我报告错误:说是只有第一次读取的值正常,后面的值都不正常:我调试了一下 ,确 ...

  3. 解决导出为Excel时文件名乱码的问题。

    以前代码:public static void htmlToExcel(HttpContext context, string title, string html, string fileCss = ...

  4. oralce的客户端sqlplus

    安装完oracle后,默认的客户端是sqlplus,还有一个公司常用的是PLSQLdeveloper 客户端软件,另外Navicat primie这个可以连接mysql.sqlserver.oracl ...

  5. Install the Active Directory Administration Tools on Windows Server

    安装 Active Directory 管理工具 To manage your directory from an EC2 Windows instance, you need to install ...

  6. Java之戳中痛点 - (3)三目运算符的两个操作数类型尽量一致

    先看一个例子: package com.test; public class TernaryOperator { public static void main(String[] args) { in ...

  7. [51nod] 1305 Pairwise Sum and Divide 数学

    有这样一段程序,fun会对整数数组A进行求值,其中Floor表示向下取整:   fun(A)     sum = 0     for i = 1 to A.length         for j = ...

  8. [POJ2406&POJ1961]用KMP解决字符串的循环问题两例

    翻阅了一下网上资料,发现大部分都说这题是找规律...或是说YY出的一个算法..不会证明... 然后就脑补了一下证明 ~ 结论:对于一个字符串S[1..N],如果N mod (N-next[N])=0 ...

  9. Python 模拟SQL对文件进行增删改查

    #!/usr/bin/env python # _*_ coding:UTF-8 _*_ # __auth__: Dalhhin # Python 3.5.2,Pycharm 2016.3.2 # 2 ...

  10. kuangbin带你飞 后缀数组 题解

    2份模板 DC3 . 空间复杂度O3N 时间复杂度On #define F(x) ((x) / 3 + ((x) % 3 == 1 ? 0 : tb)) #define G(x) ((x) < ...