问题标签 [nrwl-nx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2406 浏览

angular - 自版本 8 起,Nx 工作区 CLI 不允许创建纯 typescript 库

由于将我们的项目更新到 nx 工作区 8,库“ng g lib mylib”的生成不允许仅创建纯 typescript 库。

以前的问题是:“这个库应该使用什么框架?” 允许选择“TypeScript”以避免为库创建 UI 特定配置。

由于在版本 8 中已更改 ( https://nx.dev/guides/nx7-to-nx8 ) 到原理图,我正在寻找工作区的正确配置以避免创建和维护自定义原理图。

提前感谢您的建议。

手动删除配置文件中的相应条目:

删除 tsconfiglib.json 中的节点 ->

删除 jest.config.js 中的节点 ->

将 angular.js 中的“示意图”从“@nrwl/angular:component”更改为“@nrwl/schematics:component”

0 投票
1 回答
1159 浏览

reactjs - 无法在 nrwl 反应工作区中加载 svg

我一直在尝试使用 nrwl 工具来创建工作区。我已经创建了一个

然后将使用创建的应用程序移动 create-react-app --typescript到该工作区中。

  1. 我得到:找不到模块'./logo.svg'.ts(2307)
  2. 由(在弹出 react-app 后得到

然后我得到了(我认为是 webpack 抱怨)

当 create-react-app 处理所有 webpack 转换时,我希望有同样的体验。

0 投票
1 回答
411 浏览

nrwl - 在 NRWL/NX 环境中使用 GraphQl 和 MongoDB 模式作为库

我对 NRWL/NX 世界还很陌生。我在这里想要完成的是,将 GraphQL(与 MongoDB 一起)用于 API。过去,我在非 NRWL 环境中使用 MongoDB 创建了 GraphQL 项目。然而,由于现在我们有多个项目,我们正在转向 NX。

有几个 MongoDB 模式在多个项目中使用,所以我决定将它们用作库。我生成了一个库并添加了以下代码

MongoDB 模型非常标准。

如何通过DatabaseModule访问 mongodb 模型,请建议。

谢谢-N Baua

0 投票
1 回答
1145 浏览

tsconfig - 使用 NX Monorepo 从另一个库导入构建库

情况就是这样。我正在使用 Nrwl NX Monorepo。我有 2 个库 lib-a 和 lib-b 都是通过 NX 创建的可发布库。现在我在 lib-a 中创建了一个 MyClass.ts。自然地,在workspace/tsconfig.json 路径下,NX 会为此lib-a 创建一个别名(“@workspace/lib-a”:[“libs/lib-a/src/index.ts”])。到目前为止,一切都很好。现在我们可以在工作空间/monorepo 中的任何地方使用这个类,方法是将它导入 "import { MyClass } from '@workspace/lib-a';

不幸的是,我们无法构建导入 MyClass 的 lib-b。当我们尝试这样做时,我们会收到以下错误。所以问题是我们如何构建 lib-b ?

PS NX monorepo 实际上不支持链接 2 个可发布库的这种常见场景,这似乎很奇怪。

“错误 TS6059:文件“d:/workspace/libs/lib-a/src/index.ts”不在“rootDir”下“d:\workspace\libs\lib-b\src”rootDir 应包含所有源文件”

0 投票
0 回答
1319 浏览

nrwl - 如何在 Nrwl NX 工作区中使用 CSS 模块?

我正在将一个旧的 React/Webpack 项目重构为 Nrwl 的 NX monorepo 解决方案。在该项目中使用了 css 模块。

例如,样式以这种方式导入:

并像这样使用:

这在 NX 中不起作用,因为style在运行时是一个空对象,所以所有类名都在实际输出中消失了。

有没有办法让 CSS 模块与 NX 一起工作?

0 投票
1 回答
1187 浏览

nrwl-nx - Nx.dev 究竟是什么?

Nx究竟是什么?我正在为一个工作项目推销 Nx 设置,因为我看到了它的巨大价值,但我无法向我的同事解释什么是 Nx。他们问:如果我们将 Nx 添加到我们的 Angular 项目中,它会做什么?有人可以帮助我以简单的方式回答这个问题吗?

0 投票
1 回答
6990 浏览

angular - 在 Ngrx-nx Monorepo 中管理共享样式和资产

我正在尝试在 nrwl-nx monorepo 中设置共享样式和资产(即字体)以用于库和应用程序。

我想要的结果是有一个图书馆“主题”,提供

  1. 共享样式
  2. scss 变量和 mixins
  3. 字体

对于其他库和应用程序。

对于 1. 和 2. 我在这里找到了一个很好的答案:How to manage SCSS stylesheets across a monorepo with different libraries sharing variables?

Tim Consolazio 提出了一种很好的(并且受 Nrwl 启发)方法来处理跨 monorepo 的共享样式。基本思想是有一个入口点 scss inlibs/theme/scss/src/lib/theme.scss被导入apps/myapp/src/styles.scss. 这工作正常。

我遇到的困难是让它与提供要在共享样式中使用的字体一起工作,即我有一个libs/theme/scss/src/lib/fonts.scss从主题库中的资产文件夹中导入字体的工具。

项目结构为

目标是在themes库中拥有资产。我尝试添加到architect.build.assets数组中angular.json。但是在引用字体样式表中的字体时,我无法弄清楚要设置的正确路径:

我错过了什么?

0 投票
1 回答
280 浏览

angular - Nx cypress - 添加用于可视化测试的自定义插件

我正在尝试从 cypress https://docs.cypress.io/plugins/#visual-testing但在 nrwl nx monorepo 中设置一个可视化测试插件。

我遵循https://github.com/meinaart/cypress-plugin-snapshots中的指南,但无法使其工作。

实际结果是 toMatchImageSnapshot 不起作用(我有is not a function错误)

有人遇到同样的问题并知道解决方案吗?

0 投票
6 回答
7062 浏览

angular - 找不到“create-nx-workspace”命令(linxus 和 windows10 问题)

有人可以解释一下如何设置 nrwl/schematics 吗?我正在尝试学习前端大师的课程,他们正在使用 nrwl 生成工作空间。当我在我的机器(Windows 和 linux 操作系统)上运行相同的命令时,找不到该命令

创建-nx-workspace someName

请帮助我设置此工作区并了解我收到此错误消息的原因。在 Windows 上,我知道这通常意味着(无法识别的 cmdlet)未定义可执行文件的路径,但我不知道路径应该在哪里,也找不到答案。

任何帮助都非常感谢。问候

到目前为止,我已经尝试将@nrwl/schematics 安装为 roo/administrator,重新安装,重新启动 PC,在 Linux 和 Windows 上尝试了 stpes

0 投票
1 回答
1534 浏览

angular - 在现有 Angular 应用程序上添加 Nrwl Nx 后 ng g 应用程序将应用程序添加到错误的目录中

我有一个使用 Angular CLI 创建的现有且已经很强大的 Angular 应用程序。
按照此处找到的说明,我将其设为 Nrwl Nx 工作区。

我跑了

它创建了一个appsandlibs文件夹,在apps文件夹里面有 amy-app和 a my-app-e2e,都很完美。

然后,按照此处找到的说明,我跑了

期望在我的文件夹中创建一个应用程序apps,就像已经存在的一样,但它在根级别创建和another-app文件夹(其中包含src和文件夹),与and相同的级别。e2eappslibs

angular.json的更改正确,我可以通过它们的名称(ng s my-appng s another-app)为这两个应用程序提供服务。

这是预期的行为吗?原因,如此处所示显然当您创建一个项目时

然后开始添加应用程序

所有应用程序都进入apps文件夹。