English | 简体中文 | RocketMQ Website
Here are some preparations you may need to know (or refer to here).
We are using npm as the dependency management & publishing tool. You can find out more details about npm from its website. Here is the related command of npm you may use for development.
# Installs the project dependencies. npm install # Init grpc codes. npm run init # Run the unit tests. npm test
Enable trace debug log for grpc-js:
GRPC_TRACE=compression GRPC_VERBOSITY=debug GRPC_TRACE=all npm test
To publish a package to npm, please register an account in advance, then execute the following command.
# Builds a package and publishes it to the npm repository. npm publish
Producer
import { Producer } from 'rocketmq-client-nodejs'; const producer = new Producer({ endpoints: '127.0.0.1:8081', }); await producer.startup(); const receipt = await producer.send({ topic: 'TopicTest', tag: 'nodejs-demo', body: Buffer.from(JSON.stringify({ hello: 'rocketmq-client-nodejs world 😄', now: Date(), })), }); console.log(receipt);
SimpleConsumer
import { SimpleConsumer } from 'rocketmq-client-nodejs'; const simpleConsumer = new SimpleConsumer({ consumerGroup: 'nodejs-demo-group', endpoints: '127.0.0.1:8081', subscriptions: new Map().set('TopicTest', 'nodejs-demo'), }); await simpleConsumer.startup(); const messages = await simpleConsumer.receive(20); console.log('got %d messages', messages.length); for (const message of messages) { console.log(message); console.log('body=%o', message.body.toString()); await simpleConsumer.ack(message); }