我可以在一个 Nx 工作区中将 NX CLI 用于 Angular 和 React 应用程序吗?
Posted
技术标签:
【中文标题】我可以在一个 Nx 工作区中将 NX CLI 用于 Angular 和 React 应用程序吗?【英文标题】:Can I use NX CLI for both Angular and React apps in one Nx workspace? 【发布时间】:2020-03-21 12:25:10 【问题描述】:我尝试了以下方法,但出现了一些错误。
-
创建一个 Nx 工作区:
npx create-nx-workspace@latest myworkspace
,并且
选择使用 Angular CLI
生成角度应用程序:yarn add --dev @nrwl/angular && yarn ng g @nrwl:angular:app myapp-ng
我可以看到 angular.json
用于工作区设置,类似于 Angular CLI,yarn start/build
一切正常
添加反应能力:yarn add -D @nrwl/react
生成另一个反应应用程序:yarn ng g @nrwl/react:app myapp-react
但我收到以下错误消息,提示无法识别 Nx 工作区。
我猜它试图从workspace.json
中找到工作区配置(一个空的 Nx 工作区有这样的设置)。
这是 Nx 中的一个错误,还是在一个工作区中包含 Angular 和 React 是受支持的情况?不过我可以找到一些关于它的博客/文档...
更新:
好的,刚刚意识到我在这里犯了一个错误:(
在第 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 应用程序。而且,我认为这个警告是有道理的。
【问题讨论】:
【参考方案1】:您使用的是哪个版本的 NX?一切都应该运行良好,看看 NX 示例:https://github.com/nrwl/nx-examples
它使用:"@nrwl/angular": "8.4.0",
和 "@nrwl/react": "8.4.0",
,由两个应用程序组成:
-
推车(反应):
产品(角):
【讨论】:
我发现这是我的错误,这只是一个警告说明而不是错误。很抱歉这个错误并感谢您的回答,尤其是示例 repo 的链接。我猜在 NG CLI 工作区中使用nx
命令时会引发警告,对吧?我已经更新了 OP。以上是关于我可以在一个 Nx 工作区中将 NX CLI 用于 Angular 和 React 应用程序吗?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 nx 工作区中使用不同的应用程序作为 git 子模块?
markdown 自定义Nx工作空间原理图,用于构建自定义“状态”库。
我可以在不升级角度版本的情况下更新我的 monorepo nx 工作区吗?