美文网首页
Moleculer开荒布道者 - moleculer-cli工具

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

作者: 小小奶狗 | 来源:发表于2018-07-04 14:34 被阅读151次

    这个命令行工具是用来帮助开发者使用 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。模板地址如下:https://github.com/moleculerjs

    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 官方文档:http://moleculer.services/0.12/docs
    2. moleculer-cli 工具:http://moleculer.services/0.12/docs/moleculer-cli.html
    3. 相关开源项目列表:https://github.com/moleculerjs

    相关文章

      网友评论

          本文标题:Moleculer开荒布道者 - moleculer-cli工具

          本文链接:https://www.haomeiwen.com/subject/drcduftx.html