Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

我在我本地的开发环境,执行批处理程序
b2c.bat 可以正常运行 4.3.x 这个版本的 Spartacus,但是 5.0 即 develop 分支就不行,报这个错误:,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,使用命令行
where ng,发现 Angular CLI 的可执行文件 ng 的位置,是基于 node v14 这个版本的文件夹下面。
Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,环境变量如下,PATH 环境变量的值:
Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,我在上图将 path 环境变量里的 Node.js 配置成 16,但是 Angular CLI 仍然是老的 12 版本,所以需要升级。,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,使用命令行
npm uninstall -g @angular/cli 将 Node.js 16 文件夹下的 ng 先卸载。,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,卸载成功:
Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,Node.js 16 下面已经看不到 ng 这个文件了:,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,然后使用命令行进行全局安装:,npm install -g @angular/cli,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,不加任何参数的话,版本号太高了:15.1.5
Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,使用 Angular CLI 14.2.3 可以成功编译 Spartacus 5.0:,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,编译成功的截图如下:
Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,5.0 的 payment details,在 dropdown list 里切换
Payment type,不会有 HTTP 请求产生。,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,仅当点击 continue 按钮时才会触发事件。,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,Continue 按钮所在的 form Component 的选择器:cx-payment-form,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,点了 submit 后执行什么函数?在 form 的
ngSubmit 事件绑定函数上能够找到答案:next 函数。,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7gxzqpkF-1676028574844)(null)],我们在 next 函数里设置断点,点击 continue 按钮,断点触发:,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,发送事件:
Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,这是一个 command pattern:,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,request 请求的目的是询问一个 postUrl:,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,这个 postUrl 的值,包含在 HTTP post 请求的 response 里:,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,command 执行的 payload 在调试器里能够看到:,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,command pattern 其实并没有神秘之处,本质仍然是在 service 类里调用 connector 类来发送 HTTP 请求:,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细,

我在我本地的开发环境,执行批处理程序 b2c.bat 可以正常运行 4.3.x 这个版本的 Spartacus,但是 5.0 即 develop 分支就不行,报这个错误:

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

$ info “fsevents@2.3.2” is an optional dependency and failed compatibility check. Excluding it from installation. error @typescript-eslint/utils@5.37.0: The engine “node” is incompatible with this module. Expected version “^12.22.0 || ^14

使用命令行 where ng,发现 Angular CLI 的可执行文件 ng 的位置,是基于 node v14 这个版本的文件夹下面。 Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

环境变量如下,PATH 环境变量的值: Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

我在上图将 path 环境变量里的 Node.js 配置成 16,但是 Angular CLI 仍然是老的 12 版本,所以需要升级。

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

使用命令行 npm uninstall -g @angular/cli 将 Node.js 16 文件夹下的 ng 先卸载。

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

卸载成功: Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

Node.js 16 下面已经看不到 ng 这个文件了:

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

然后使用命令行进行全局安装:

npm install -g @angular/cli

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

不加任何参数的话,版本号太高了:15.1.5 Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

使用 Angular CLI 14.2.3 可以成功编译 Spartacus 5.0:

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

编译成功的截图如下: Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

5.0 的 payment details,在 dropdown list 里切换 Payment type,不会有 HTTP 请求产生。

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

仅当点击 continue 按钮时才会触发事件。

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

Continue 按钮所在的 form Component 的选择器:cx-payment-form

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

点了 submit 后执行什么函数?在 form 的 ngSubmit 事件绑定函数上能够找到答案:next 函数。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7gxzqpkF-1676028574844)(null)]

我们在 next 函数里设置断点,点击 continue 按钮,断点触发:

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

发送事件: Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

这是一个 command pattern:

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

request 请求的目的是询问一个 postUrl:

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

这个 postUrl 的值,包含在 HTTP post 请求的 response 里:

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

command 执行的 payload 在调试器里能够看到:

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

command pattern 其实并没有神秘之处,本质仍然是在 service 类里调用 connector 类来发送 HTTP 请求:

Spartacus payment types 在 checkout 步骤中发送 HTTP put 请求的实现明细

文章版权声明

 1 原创文章作者:Moki,如若转载,请注明出处: https://www.52hwl.com/38503.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年7月15日 上午8:33
下一篇 2023年7月15日 上午8:33