alipay / alipay-sdk-nodejs-all

支付宝开放平台 Alipay SDK for Node.js
https://docs.open.alipay.com/54/103419/
Other
410 stars 65 forks source link

在TS中,实例化报错AlipaySdk not a constructor #107

Closed ryzencool closed 1 year ago

ryzencool commented 1 year ago

如题

ryzencool commented 1 year ago

我的环境是 vite + sveltekit, 请给下解决方案,谢谢,在dev server是没问题的,但是build之后,会有 not a constructor 的问题

silence-time commented 1 year ago

我也遇到了,AlipaySdk not a constructor ,老哥咋解决的

ryzencool commented 1 year ago

没解决啊,换成调用java了

Zjingwen commented 1 year ago

@ryzencool 我是手写ci脚本碰到了这个问题。

import AlipaySdk from "alipay-sdk";
new AlipaySdk(
  // 具体配置
); // ---> 报错 TypeError: AlipaySdk is not a constructor
import AlipaySdk from "alipay-sdk";
new AlipaySdk.default(
  // 具体配置
); // ---> 成功了

直接console.log(AlipaySdk) 输出了 { default: [class AlipaySdk] },这里不是直接export出来的

ryzencool commented 1 year ago

@Zjingwen 感谢

hugepizza commented 1 year ago

同样的问题 ts环境下es6

import AlipaySdk from "alipay-sdk";
new AlipaySdk(config);

tsc编译出现异常: TypeError: AlipaySdk is not a constructor

❯ node -v
v20.4.0
❯ tsc -v
Version 5.1.6

希望你们作为官方团队能及时解决问题

fengmk2 commented 1 year ago

按 编译结果 https://npmmirror.com/package/alipay-sdk/files?version=3.4.0

你需要在 tsconfig.json 里面配置一下 esModuleInterop: true

fengmk2 commented 1 year ago

3.5.0 版本已经修复