搜索
您的当前位置:首页正文

Moleculer开荒布道者 - moleculer-cli工具

2024-12-17 来源:二三四教育网

这个命令行工具是用来帮助开发者使用 moleculer 框架开发微服务系统和测试代码的。可以使用 npm i -g moleculer-cli 全局安装,然后你就可以使用 moleculer 命令了。

如果你直接在命令行中输入 moleculer(=== moleculer start) 并敲击回车,系统就会启动 Moleculer 并进入到 mol这种 类shell 的交互环境中,这种情况是不分配命名空间的,并且默认只启动 $node 这个服务,服务中共有5个 Action方法。下面是这个交互环境提供的命令:

  Commands:

    help [command...]                                   Provides help for a given command.
    q                                                   Exit application
    actions [options]                                   List of actions
    bench [options] <action> [jsonParams]               Benchmark a service
    broadcast <eventName>                               Broadcast an event
    broadcastLocal <eventName>                          Broadcast an event locally
    call [options] <actionName> [jsonParams]            Call an action
    dcall [options] <nodeID> <actionName> [jsonParams]  Direct call an action
    clear [pattern]                                     Clear cache entries
    emit <eventName>                                    Emit an event
    env                                                 List of environment variables
    events [options]                                    List of event listeners
    info                                                Information about broker
    load <servicePath>                                  Load a service from file
    loadFolder <serviceFolder> [fileMask]               Load all services from folder
    nodes [options]                                     List of nodes
    services [options]                                  List of services
  • 查看系统所有服务:下图是使用脚手架创建的项目,自己写了个 users 服务。

    image.png
  • 查看所有 actions ,你可以理解为 action 就是后端开发中常说的增删改查API(除$node这个根服务):

    image.png
    image.png

后面这个是我使用cli脚手架生成目录后自己写了个 users 服务,加上脚手架自动生成的api.restgreeter.hellogreeter.welcome 一共有13个 actions ,4个 services

  • 使用脚手架创建项目:moleculer init project my-first-microservice-project,脚手架会像 cue-cli 那样询问你各种组件是否需要,刚开始学习建议全选不需要。以后项目的开发基本会用到脚手架推荐的官方网关,代码检测,单元测试等等组件。需要注意的是 moleculer 生成模板时候, 其中projectmoleculerjs/moleculer-template-project的缩写,官方目前提供了五种模板:projectproject-simplenanomoduleaddon,五种模板都提供了一个样品服务greeter。模板地址如下:

projectproject-simple 的区别和名字意思一样,就是简化版。比如 .gitignore 文件更简洁,dockerfile部署的代码也更为简洁。目前project-simple 使用的依赖是 moleculer*0.11 而不是最新的 *0.12,其 repl 依赖也使用的老版本(也就是说这个项目模板很久没更新了),所以推荐还是使用 project 模板。有能力有时间的话我倒是希望将公司最终中间层项目整理一下打包一份开源到自己的github,以后类似项目可以使用这样的命令创建基础目录结构和可复用代码:moleculer init username/repo my-project

  • 以下是 project模板提问:官方推荐的网关服务,服务间通讯的桥接器,选择缓存方案(Memory/Redis),使用构建部署工具(Docker),代码检测工具(ESLint),单元测试工具(Jest)等等。
    image.png

参考资料

  1. moleculer 官方文档:
  2. moleculer-cli 工具:
  3. 相关开源项目列表:

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

热门图文

Top