首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在intellij中创建nodejs微服务项目?

如何在intellij中创建nodejs微服务项目?
EN

Stack Overflow用户
提问于 2022-09-18 18:40:50
回答 1查看 74关注 0票数 0

问题是,假设我想同时启动多个服务(几个npm start),将这些服务作为单独的项目运行是不方便的。我希望在一个项目工作区中有一个类似于下面的文件夹结构:

代码语言:javascript
复制
project
├── service1
│   ├── node_modules
│   │   ├── @module1
│   │   └── @module2
│   ├── package-lock.json
│   ├── package.json
│   ├── public
│   └── src
├── service2
│   ├── node_modules
│   │   ├── @module1
│   │   └── @module2
│   ├── package-lock.json
│   ├── package.json
│   ├── public
│   └── src
└── service3
    ├── node_modules
    │   ├── @module1
    │   └── @module2
    ├── package-lock.json
    ├── package.json
    ├── public
    └── src

有什么干净的方法可以做到呢?我需要一起启动多个服务,如果可能的话,显然需要以方便的方式调试任何服务。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-18 22:51:04

您可能需要查看勒纳Nx。两者都是管理单回购微服务的工具。

它们之间有一些细微的差别,但本质上两者都在做同样的事情。

  • 它们提供了在微服务之间共享依赖关系的方法。
  • 它们提供了创建共享库的方法。
  • 它们提供了一起启动多个服务的方法.

勒纳

其中一个微妙的区别是,Nx将迫使您在根文件夹中使用单个package.json,本质上迫使您对所有微服务使用相同的依赖关系。相比之下,Lerna仍然允许每个文件夹中有一个特定的package.json,这看起来更像您当前的目录结构。

总的来说,我认为Lerna是一个安全的选择。你可以找到一个很好的教程这里

Nx

另一方面,尽管Lerna已经存在了更长的时间,但它有时也有一些怪癖。我相信Nx在技术上可能是一个更健壮的解决方案。

然而,我必须承认,我看到它主要用于单回购前端项目,而不是经常用于后端项目。从技术上讲,它应该能够同时处理这两个问题。

为了让您开始使用Nx,您可以遵循教程。

破坏者: Nx有像nx run-many这样的命令,可以帮助您一起执行多个服务。迁移到nx之后,您可以将该命令放入package.json__的__脚本中,以便npm run startnpm start执行该命令。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73765528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档