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
;