dubbo2.js 打通了 node 与 dubbo 服务调用的 rpc 通道
调用 dubbo 接口时, 如果能自动生成接口定义,参数的转换,代码提示 开发体验会更优秀;
“Translator(翻译师)” 为此而生!!
职责
如何把一个 dubbo 接口转换为 node 客户端能调用的代码,并在项目中使用呢?我们分为 3 个步骤:
注:
具体实现 参考文档 dubbo2js-翻译师.pdf
; 进入接口项目目录执行命令 mvn package mvn install dependency:copy-dependencies
npm install interpret-dubbo2js -g interpret -c dubbo.json
dubbo.json:
{ "output": "./src", "entry": "com.qianmi", "entryJarPath": "${jarPath}", "libDirPath": "${denpendJarDir}" }
参数名称 | 作用 |
---|---|
output | 生成代码保存路径 |
entry | 可选过滤无关代码 |
entryJarPath | 接口的 jar 包 |
libDirPath | 接口所依赖的 |
Tip 生成的代码可以发 npm 包供其他业务线使用或直接在项目中引用
import {ShowCaseProvider} from '@qianmi/***-api/lib/com/qianmi/ShowCaseProvider'; const dubbo = new Dubbo({ application: {name: 'd2p-visitor-bff'}, dubboInvokeTimeout: 10, //zookeeper address register: app.config.zookeeper, dubboVersion: '2.4.13', logger: app.logger as ILogger, interfaces: [ 'com.qianmi.cloudshop.api.marketing.d2p.D2pMarketingQueryProvider', ], }); let showCaseProvider = ShowCaseProvider(dubbo); showCaseProvider.show();
Tip npm install interpret-util dubbo2.js
;