uniapp 引入微信jsweixin时报错Cannot read property 'title' of undefined

1,242 阅读1分钟
jsweixin-1.6.0配合Vue. 引入方式是最简单的直接import

import '@/vendor/wxLogin.js'
import '@/vendor/jweixin-1.6.0.js'
但是引入时就会报错 如何解决?

jweixin-1.6.0.js里面的执行方式不适合直接webpack。我看到的报错是cannot read title of undefined,不知道你们是不是这个问题。

这个问题的原因是,里面在执行this.document.title的时候出的问题,这个js期望实在浏览器全局作用域下执行(this指向window),但是webpack之后,是在一个function作用域下执行,因此this.documentundefined

因此有几种方式修改:
  • 1.改源码,将jweixin-1.6.0.js中第一个this改为window

  • 2.在html中使用script引入

  • 3.webpack有个script-loader可以让模块文件在global环境下执行,可以试试看