微信小程序里如何使用npm?小程序集成友盟举例

1、执行npm初始化指令

小程序根目录,命令执行如下指令:

npm init

执行后会让加载项目初始信息,具体截图如下:

2、执行安装npm包指令

在这我们举个例子,以接入友盟统计SDK为例,执行命令如下:

npm install umtrack-wx --save

说明截图:

执行截图如下:

3、微信开发者工具构建npm

点击微信开发者工具中的菜单栏:工具 --> 构建 npm

点击构建之后,项目会自动帮我们进行构建,然后会多出一个miniprogram_npm文件夹:

4、勾选“使用 npm 模块”选项

微信开发者工具中的菜单栏:工具 --> 项目详情, 勾选 "使用 npm 模块" 选项:

5、引入依赖组件

如上步骤,构建完成我们就可以使用我们的npm包了,我们继续按照友盟的提示,在app.js引入:

6、再举个例子,引入官方WeUI组件库

上边友盟的例子确实过于简单,相信大家在使用npm大部分场景是使用UI库,那么我们通过npm方式引入WeUI组件库。

相关链接:

  • WeUI组件库地址:https://github.com/wechat-miniprogram/weui-miniprogram
  • WeUI组件库文档:https://developers.weixin.qq.com/miniprogram/dev/extended/weui/

执行命令:

npm install weui-miniprogram --save

执行截图:

微信开发者工具 > 菜单栏 > 工具 > 构建npm

执行构建npm后,项目中 minoprogram_npm 包下就可以看到 WeUI 了。

7、怎么使用WeUI组件库?

app.wxss 中全局引入 weui.css

@import '/miniprogram_npm/weui-miniprogram/weui-wxss/dist/style/weui.wxss';

实例截图:

接下来我们以一个Form表单样式为例:

https://developers.weixin.qq.com/miniprogram/dev/extended/weui/form.html

如图所示我们分别复制到 index.jsonindex.wxmlindex.js 中:

在这我额外说一下 index.json,因为我们的 weui 路径是在 miniprogram_npm 文件夹下的,所以复制过来后需要修改一下路径,具体内容如下:

{"component": true,"usingComponents": {"mp-toptips": "../../miniprogram_npm/weui-miniprogram/toptips/toptips","mp-cells": "../../miniprogram_npm/weui-miniprogram/cells/cells","mp-cell": "../../miniprogram_npm/weui-miniprogram/cell/cell","mp-checkbox": "../../miniprogram_npm/weui-miniprogram/checkbox/checkbox","mp-checkbox-group": "../../miniprogram_npm/weui-miniprogram/checkbox-group/checkbox-group","mp-form": "../../miniprogram_npm/weui-miniprogram/form/form"}
}

index.wxmlindex.js 在这就不重复了,大家可以去上方链接复制粘贴,内容全部替换即可。最终效果图如下所示:

你知道的越多,不知道的就越多,欢迎关注我的微信公众号,大家一起成长

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/413940.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring MVC 5 + Thymeleaf 基于Java配置和注解配置

Spring MVC 5 Thymeleaf 注解配置 Spring的配置方式一般为两种:XML配置和注解配置 Spring从3.0开始以后,推荐使用注解配置,这两种配置的优缺点说的人很多,我就不说了,自行体会,下面就用注解配置实现一个Sp…

[js] 你是如何比较js函数的执行速度的?

[js] 你是如何比较js函数的执行速度的? 采用chrome performance apiconsole.time(flag); console.timeEnd(flag);performance api比较精准的 console.time(flag); 也行 搭配timelog 多次测量个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容…

docker镜像无法删除 Error:No such image:xxxxxx

1、前言 docker镜像无法删除,通过 docker images 查看镜像明明存在就是删除不了。 删除提示:Error:No such image:xxxxxxx 具体截图内容如下: 2、解决方法 进入目录: cd /var/lib/docker/image/over…

[js] axios拦截器原理是什么?

[js] axios拦截器原理是什么? 拦截器原理其实就是用use添加用户自定义的函数到拦截器的数组中。 最后把他们放在拦截器请求前,请求后。组成promise链式调用。 // 组成Promise链// Hook up interceptors middleware// 把 xhr 请求 的 dispatchRequest 和…

python中集合set,字典dict和列表list的区别以及用法

python中set代表集合,list代表列表,dict代表字典 set和dict的区别在于,dict是存储key-value,每一个key都是唯一的,set相对于dict存储的是key,且key是唯一的,list除了变量外都可以存储 dict{"a":1,"b&qu…

[js] fetch和axios请求的原理都是基于XMLHttpRerequst吗?

[js] fetch和axios请求的原理都是基于XMLHttpRerequst吗? axios是基于XMLHttpRequest的封装,而fetch是js原生支持的网络请求api,这在浏览器底层进行了支持。个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易&#x…

LeetCode(81): 搜索旋转排序数组 II

Medium! 题目描述: 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] )。 编写一个函数来判断给定的目标值是否存在于数组中。若存在返回 true,否则返回 false。 示…

网站三级分销数据库如何设计,简单案例

一、问题产生 有小伙伴微信私信我,说老板想设计一套三级返佣的微信淘宝客裂变系统,然后问我怎么搞… 咳咳,对于三级分销的数据库设计,相信很多小伙伴头疼的可能不是设计上,而是查询上,因为通常涉及到会员…

[js] 举例说明面向对象编程有什么缺点?

[js] 举例说明面向对象编程有什么缺点? 有实例化开销,内存消耗比较大,性能消耗比较大个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端…

第6课 仿Siri机器人-语音朗读和语音识别

一、功能设计输入文本,单击“朗读”按钮,由手机读出该文本(如果没有输入文本,则弹出消息框警告“请输入文本);单击“识别”按钮,读入语音,从文本框中输出文字。(另&#…

口述完SpringMVC执行流程,面试官就让同事回家等消息了

Srping MVC 执行流程真的是老生常谈的话题了,最近同事小刚出去面试,前面面试官相继问了几个 Spring 相关的问题,但当面试官问他,你知道 Srping MVC 的执行流程吗?小刚娴熟的巴拉巴拉回答完后,面试官就让他回…

[js] 使用js实现一个循环队列

[js] 使用js实现一个循环队列 const queue [] let queueRunning false let loopTimer null const loop task > {// do something...console.log(task)if (isQueueHasTask()) {// you can add new tasks in the middle of the queue.loopTimer setTimeout(() > {loo…

iview-cli 采坑记录

1.iview-cli 关于跨域的问题: 使用 webpack-devServer 启动 node 服务器可以通过配置 proxy 对象实现跨域: let proxyUrl http://dev.api.wankaonline.gm825.net;devServer: {proxy: {/index: {target: proxyUrl,pathRewrite: {^/index : /index},ws: t…

如何关闭线程池?会创建不会关闭?调用关闭方法时线程池里的线程如何反应?

前言 相信大家在面试的时候经常会遇到「线程池」相关的问题,比如: 什么是线程池?线程池的优点?有哪几种创建线程池的方式?四种创建线程池的使用场景?线程池的底层原理?线程池相关的参数&#…

[js] Number()的存储空间是多大?假如接口返回一个超过最大字节的数字怎么办?

[js] Number()的存储空间是多大?假如接口返回一个超过最大字节的数字怎么办? Number类型的最大值为2的53次方,即9007199254740992,如果超过这个值,比如900719925474099222,那么得到的值会不精确&#xff0…

C++ 判断系统大小字节序

bool IsLitterEndian() {union UTest{std::uint16_t t;std::uint8_t c;} endianTest{ 0x01 };return (endianTest.c 0x01); } 转载于:https://www.cnblogs.com/fluteary/p/9178627.html

macos brew zookeeper,安装后zookeeper启动失败?

一、Zookeeper安装流程 执行如下安装命令: brew install zookeeper执行截图如下: 安装后查看 zookeeper 安装信息(默认拉取最新版本) brew info zookeeper执行截图如下: 二、Zookeeper启动、状态查询、及关闭 启…

[js] alert如何让文本换行?

[js] alert如何让文本换行? 先考虑兼容性的问题,再使用转义字符 ie: alert("A\r\nB"); //chrome也可以实现 chrome: alert("A\nB");个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易…

批量更新数据(BatchUpdate)

批量更新数据&#xff08;BatchUpdate&#xff09; /// <summary> /// 批量更新数据&#xff0c;注意&#xff1a;如果有timestamp列&#xff0c;要移除 /// </summary> /// <param name"sourceTable">源数据</param> /// <param name&qu…

[js] 一个api接口从请求数据到请求结束共与服务器进行了几次交互?

[js] 一个api接口从请求数据到请求结束共与服务器进行了几次交互&#xff1f; API是一些预先定义的函数&#xff0c;或指软件系统不同组成部分衔接的约定。如果已经建立了连接&#xff0c;那么单次请求数据到请求结束应该是一次交互&#xff1b;如果没有建立连接&#xff0c;根…