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

摘要:build-url 是一个将对象转换为url字符串的小工具,一般的使用方法为:使用npm安装的build-url在使用时,微信开发者工具会报错 buildUrl undefined错误,跟踪代码发现 是下面代码抛出了异常

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://shenqiku.cn/article/FLY_7966