同样的一份代码
TopClient = require('../../lib/taobao-sdk/api/topClient').TopClient;
如果用node命令直接运行没问题不会报错,但是在项目中运行会出现下面错误
如果写成
var TopClient = require('../../lib/taobao-sdk/api/topClient').TopClient;
则没有问题,另外我项目中引用babel,该问题是否由babel造成,望高手解答,谢谢!
补充一下,不是我主观想采用这种写法,是taobao的api sdk文件采用的这样的写法。十分尴尬。
我猜测因为你用了babel,而babel用了严格模式。错误说的是
=
号左边的TopClient未定义,但讲道理如果不是严格模式=
号左边的TopClient在解析时回向上查找TopClient,如果到全局作用域还没有会创建一个。不过问题来了,为什么要用代码1不声明TopClient用代码2?