You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NX仍支持创建多应用吗?新版结构与旧版差异疑问

NX多应用创建指南(适配新版仓库结构)

NX完全支持创建多应用,只是新版对仓库结构做了更清晰的分类,不同类型仓库的应用存放位置和创建方式略有不同,下面针对你的疑问逐一说明:

1. 核心说明:为什么没看到apps目录?

旧版NX默认生成apps/libs结构,新版将仓库分为三种类型,apps目录主要对应**Integrated Monorepo(集成仓库)**的应用存放,另外两种类型有不同的组织方式:

  • 集成仓库:最接近旧版结构,手动创建应用后会自动生成apps目录
  • 包仓库(Package-Based):应用以独立包形式存放在packages目录
  • 独立仓库(Standalone):本身就是单应用仓库,无需apps目录

2. 不同仓库类型创建多应用的具体步骤

集成仓库(推荐多应用场景,匹配旧版习惯)

这是最适合管理frontend和admin两个应用的模式,有两种创建路径:

路径一:创建仓库时直接生成第一个应用

npx create-nx-workspace@latest myorg

执行后按提示选择:

  • 仓库类型选 Integrated Monorepo
  • 选择你用的框架(比如React/Angular/Vue)
  • 输入第一个应用名称(比如frontend)
    创建完成后自动生成apps/frontend目录,再执行命令生成admin应用:
nx g @nx/react:app admin  # 框架对应替换成你用的,比如@nx/angular:app

路径二:先创建空白集成仓库,再手动生成应用

你之前用--preset=ts创建的是空白集成仓库,所以没有自动生成应用和apps目录,补全步骤即可:

# 安装对应框架的生成器(以React为例)
npm install @nx/react
# 创建frontend应用
nx g @nx/react:app frontend
# 创建admin应用
nx g @nx/react:app admin

执行后会自动生成apps目录,两个应用分别放在apps/frontend和apps/admin下,libs目录依然用来创建共享库(比如公共组件、工具函数),和旧版逻辑一致。

包仓库(Package-Based)

如果你的frontend和admin需要独立发布为npm包,选这种模式,应用存放在packages目录:

npx create-nx-workspace@latest myorg --preset=package-based
# 安装框架生成器
npm install @nx/react
# 创建frontend应用到packages目录
nx g @nx/react:app frontend --directory=packages/frontend
# 创建admin应用到packages目录
nx g @nx/react:app admin --directory=packages/admin

独立仓库(Standalone)

这种是单应用仓库,本身就是一个应用,不适合管理多应用场景。如果已经创建了独立仓库,建议转成集成仓库再添加第二个应用,或者直接重新创建集成仓库。

3. 关于旧课程与新版差异的说明

2022年的课程基于旧版NX,新版NX对仓库结构做了模块化拆分,将原有的单一结构细化为三种仓库类型,核心功能(应用/库创建、任务调度、缓存)依然保留,但组织方式更灵活,所以会出现内容差异。

内容的提问来源于stack exchange,提问作者Richard77

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 19:40:37