我可以在一个 Nx 工作区中将 NX CLI 同时用于 Angular 和 React 应用程序吗?

Can I use NX CLI for both Angular and React apps in one Nx workspace?

我尝试了下面的方法,但出现了一些错误。

  1. 创建一个 Nx 工作区:npx create-nx-workspace@latest myworkspace,以及 select 使用 Angular CLI
  2. 生成 angular 应用程序:yarn add --dev @nrwl/angular && yarn ng g @nrwl:angular:app myapp-ng 我可以看到工作区设置的 angular.json 类似于 Angular CLI,并且 yarn start/build 一切正常
  3. 添加反应能力:yarn add -D @nrwl/react
  4. 生成另一个 React 应用程序:yarn ng g @nrwl/react:app myapp-react 但我收到以下错误提示 Nx workspace not recognized.

我猜它试图从 workspace.json 中找到工作区配置(一个空的 Nx 工作区有这样的设置)。

这是 Nx 中的一个错误,还是在一个工作区中包含 Angular 和 React 的情况是否受支持?不过我可以找到一些关于它的 blogs/docs...

更新:

好吧,刚刚意识到我在这里犯了一个错误:(

在第 4 步,我是 运行 yarn nx g ... 而不是 ng g ...。然后在 NG CLI 工作区中使用 nx 命令时会出现如下警告:

yarn nx g @nrwl/react:app react2 --dry-run
yarn run v1.12.3
$ nx g @nrwl/react:app react2 --dry-run

>  NX   NOTE  Nx didn't recognize the command, forwarding on to the Angular CLI.

实际上可以使用 NG CLI 成功创建 React 应用程序。而且,我认为警告是有道理的。

您使用的是什么版本的 NX?一切都应该运行良好,看看 NX 示例:https://github.com/nrwl/nx-examples

它使用:"@nrwl/angular": "8.4.0", 以及 "@nrwl/react": "8.4.0",,由两个应用组成:

  1. 购物车(反应):
  2. 产品(Angular):