微信小程序 如何引入第三方插件(网上的方法已经试过)

新手上路,请多包涵

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

clipboard.png

阅读 12.6k
2 个回答

去看了一下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源代码

新手上路,请多包涵

我想使用moment也不行,如果插件里面使用window和document也行不通

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题