比如很多人会有这样的问题:

小程序怎样引用第三方js呢?

第三方js是封装好的类库 想引用进来实例化使用

这个帖子就综合一下所有相关的知识,做一个整合,以便大家能够集中了了解;我觉得这个还是应该让大家了解的知识;

提示:小程序不支持 window对象和document对象;

一:rpn.js:使用rpn.js实现eval函数功能
http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1513

二: @guyoung 系列文章
使用Underscore.js: http://www.wxapp-union.com/portal.php?mod=view&aid=145
使用Immutable.js: http://www.wxapp-union.com/portal.php?mod=view&aid=155
使用UUID、Base64、Chance: http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1198

扩展微信小程序框架功能(1)——Promise

ES6 对 Promise 有了原生的支持,但微信开发者工具更新版本(0.11.112200)后, 移除了开发者工具对 ES6 中Promise 特性原生的支持, 需要引入第三方的 Promise 库。

扩展微信小程序框架功能(2)——Generator

Generator函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同。

扩展微信小程序框架功能(3)——函数功能增强

Underscore.js 和 Lodash 是最常用的JavaScript库。

扩展微信小程序框架功能(4)——Immutable.js

Immutable.js 是 Facebook 开发的不可变数据集合。Immutable
Data(不可变数据)一旦创建就不能被修改。通过使用Immutable
Data,可以更容易的处理缓存、回退、数据变化检测等问题,应用开发更简单。

扩展微信小程序框架功能(5)——Redux

​Redux 是 JavaScript 状态容器,提供可预测化的状态管理。

扩展微信小程序框架功能(6)—日期时间

Moment.js是一个JavaScript的日期、时间处理工具类,其对于JavaScript的日期时间处理功能非常强悍和全面。可以用在浏览器环境中使用,也可以在Node.js中。

扩展微信小程序框架功能(7)——正则表达式

XRegExp 是一个开源的 JavaScript库,提供一个参数化、可扩展的支持各种浏览器的正则表达式的实现库,支持附加语法、标志以及方法。

扩展微信小程序框架功能(8)——Xml处理

x2js是一个 实现 XML 与 JavaScript 对象之间相互转换的工具库。

扩展微信小程序框架功能(9)——加解密

node-uuid可以快速地生成符合规范 的 UUID。js-base64可以实现Base64编码和解码。crypto-js可以非常方便地在 JavaScript 进行加解密。

扩展微信小程序框架功能(10)——测试辅助

Chance是一个 JavaScript 随机数生成工具。Mock.js可以生成随机数据,拦截 Ajax 请求。

三:moment
http://www.wxapp-union.com/forum.php?mod=viewthread&tid=2268

四:相关讨论
相关讨论一: 微信小程序使用第三方库问题?

项目中需要使用base4,克隆了一个下来https://github.com/dankogai/j...
因为小程序目前不支持直接引入 node_modules 所以我写的是路径
我在app.js里根据路径写

require ( './node_module/js-base64/base64.js' );

但是报错

WAService. js : 3   TypeError : Cannot read property  'Base64'   of  undefined答:@jayzou

因为源码里面并没有exports Base64对象出来,自己手动exports就可以了

目前来说,我也没找到好的方法,只能修改源码强制导出 小程序的运行时环境既不是Node.js也不是浏览器,也没有暴露全局对象。。。
在Base64源码的最开始
global = {}; //在最开始加上这个
var _Base64 = global.Base64;
在最后
// that's it!
if (global['Meteor']) {
   Base64 = global.Base64; // for normal export in Meteor.js
}

module.exports = global.Base64; //最后加上这个
这样就能用了
import base64 from './node_module/js-base64/base64.js'

相关讨论二: 如何引入第三方插件(网上的方法已经试过) 引入第三方插件,网上有人说需要进行UMD打包,打包之后引入还是不行。有的说需要暴露接口,对插件代码进行改造,加入了 module.exports = function ,然后通过 require 引入,但是引入后还是报错。
个人引用的是strophe.js文件,求大神告知解决办法

去看了一下Strophe的源码。不知道你用的什么版本的。我看源码最后是这样的
function (Strophe, build, msg, iq, pres) {
    window.Strophe = Strophe;
    window.$build = build;
    window.$msg = msg;
    window.$iq = iq;
    window.$pres = pres;
};
小程序中宿主环境不是浏览器,所以没有window。这样写当然是不行的。你可以尝试修改为

function (Strophe, build, msg, iq, pres) {
    var global = {}
    global.Strophe = Strophe;
    global.$build = build;
    global.$msg = msg;
    global.$iq = iq;
    global.$pres = pres;
    module.exports = global
};
使用的时候:
var Strophe = require('./pathStrophe.js').Strophe
注:小程序和web编程是有区别的。我看了一下这个库的源码,使用了很多document, xhr之类的,这些是不支持的哦。可以查阅官方文档。
Storophe源代码

相关讨论三:小程序模块化只支持exports和module.exports吗?
CMD模式 
require("test.js");
a();//可以直接使用
小程序报错
WAService.js:1 thirdScriptError setMaxDigits is not defined;at "pages/index/index" 
page onRequest function ReferenceError: a is not defined
test.js
function a(){
.......
}
function b(){
.......
}
目前是在微信小程序使用第三方的test.js,在之前的H5项目是可以使用test.js的?目前就是不想去用exports和module.exports改变test.js。

需要加上从当前页面到该文件的完整路由 如:../../common/test.js -----当前页面位置的前一个前一个文件夹的common文件夹的test.js 文件

var test = require("test.js");
test.a();
test.js  中

module.exports = {a:a}

相关讨论四:问题:小程序如何导入第三方的JS工具库
怎样导入一个第三方的JS工具库
fontKit

使用require函数
var util = require('../../utils/util.js')

简易教程:
引用其他js里的方法: http://www.wxapp-union.com/portal.php?mod=view&aid=1339

微信小程序使用第三方库(第三方js)问题相关推荐

  1. 微信小程序跳转到第三方H5网页

    我开发过程中有小程序跳转到网页的需求,下面分享一下我的实现过程: 使用官方文档web-view组件:web-view 1.首先得通过微信公众平台配置业务域名,配置业务域名需要将校验文件上传到网站服务器 ...

  2. 小程序子组件向父组件传值_一套组件化、可复用、易扩展的微信小程序 UI 组件库...

    如何使用 Wux Weapp 是一套组件化.可复用.易扩展的微信小程序 UI 组件库.在开始使用之前,需要先阅读微信小程序自定义组件的相关文档. 通过 npm 安装,需要依赖小程序基础库 2.2.1 ...

  3. 通过新浪云部署NideShop微信小程序商城(基于Node.js+MySQL+ThinkJS)

    本文档为微信小程序商城NideShop项目的安装部署教程(GitHub),欢迎star 一.购买新浪云SAE 为什么选择SAE? 免费二级域名和支持https访问,不用备案,可用于做微信小程序服务器. ...

  4. 新浪云node加mysql_通过新浪云部署NideShop微信小程序商城(基于Node.js+MySQL+ThinkJS)...

    一.购买新浪云SAE为什么选择SAE? 免费二级域名和支持https访问,不用备案,可用于做微信小程序服务器. 选择对应的部署环境 自定义 -> 开发言语:自定义 -> 运行环境:云容器 ...

  5. 当前最热门的微信小程序UI组件库

    1.WeUI WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一.包含button.cell.dialog. progre ...

  6. 高颜值微信小程序 UI 组件库!

    Vant Weapp Vant 是一个轻量.可靠的移动端组件库,由有赞于 2017 年开源. Github(⭐️ 16.5k):github.com/youzan/vant- iView Weapp ...

  7. 微信小程序中调用公共的js

    微信小程序中调用公共的js 微信小程序中调用公共的js 实现思路: 将部分的js逻辑放到utils中,logs.js中调用utils.js中的方法 实现代码: utils.js: function f ...

  8. 微信小程序开发日志——面向对象的JS编程

    微信小程序开发日志--面向对象的JS编程 前言 不知道有多少小伙伴和之前的我一样,微信小程序的js部分都是用面向过程的方式写的,最后的结果就是代码非常长,其实刚刚写完还好,自己也都清楚哪些部分是做什么 ...

  9. Wuss Weapp一款高质量,组件齐全,高自定义的微信小程序 UI 组件库

    Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库 文档 https://phonycode.github.io/wuss-weapp 扫码体验 使用微信扫一扫体验小程序组 ...

  10. Wuss Weapp 微信小程序 UI 组件库

    Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库 文档 phonycode.github.io/wuss-weapp 扫码体验 使用微信扫一扫体验小程序组件示例 演示图片 ...

最新文章

  1. 无法访问已释放的对象。 对象名:“System.ServiceModel.Channels.HttpChannelFactory+HttpRequestChannel”。...
  2. java 502错误,Spring Boot连接超时导致502错误的实战案例
  3. js算法初窥06(算法模式03-函数式编程)
  4. 6月第二周中国五大顶级域名增2.4万 美国减6.8万
  5. SD-WAN技术的详细解析
  6. VMware Linux VDI 安装步骤
  7. CentOS和Ubuntu区别
  8. JavaScript学习初步
  9. 《数据库系统原理》课程设计:超市订单管理系统
  10. 深度装机大师一键重装_手把手教你深度装机大师u盘装系统教程
  11. Excel如何将列数据转换成行数据?分享技巧!excel怎么把列的信息变换为行的信息?
  12. Swap file “*.swp“ already exists!的解决方法
  13. 对 COMP 通证经济模型的一般性评价
  14. 前端做大屏显示,缩放比,分辨率怎样适配?
  15. not executable: 64-bit ELF file 已解决
  16. oppoa5降级教程_OPPOR11S线刷降级旧版本可以吗?Colors版降到3.2没问题
  17. 三角形的测试用例设计案例
  18. 用ngrok做内网穿透
  19. kafka(三):kafka broker
  20. 榆熙教育:拼多多平台考核如何达成系统考核指标

热门文章

  1. 【项目评析】Jibrel Network(JNT)--去中心化银行???(黑人问号)
  2. 智慧医疗如何持续推进?这件事必不可少
  3. 团队-排课软件-需求分析
  4. 【01.23】大数据 -- JAVA基础 P15-P24
  5. 【论文阅读】3D点云 -- PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
  6. 12.2.5 图形化日志工具——系统日志查看器
  7. 分享35套非常华丽的免费 PSD 网页按钮素材
  8. 1041. 困于环中的机器人
  9. 社群裂变有哪些工具?做社群裂变怎么选择工具?
  10. CAD如何转换?一招在线免费将CAD转成多种格式