解决build-url在微信小程序中报错的问题

更新日期: 2019-12-29阅读: 2.5k标签: 报错

build-url 是一个将对象转换为url字符串的小工具,一般的使用方法为:

import buildUrl from '../path/to/lib/build-url';

buildUrl('http://example.com', {
  path: 'about',
  hash: 'contact',
  queryParams: {
    foo: bar,
    bar: ['foo', 'bar']
  }
});

使用npm安装的build-url在使用时,微信开发者工具会报错 buildUrl undefined错误,跟踪代码发现 是下面代码抛出了异常

var root = this;

var previousBuildUrl = root.buildUrl;

小程序中this为undefined,所以下面的root.buildUrl就会抛出错误了。
修改成下面的代码,问题解决,但不知道为什么小程序中this为undefined。

var root = this || {};
var previousBuildUrl = root || root.buildUrl || {};

附上修改后的文件

原文:https://segmentfault.com/a/1190000021859730

链接: https://www.fly63.com/article/detial/7966

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!