问题标签 [nrwl]

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 回答
5954 浏览

angular - 如何在 nrwl/nx 工作区的库中使用 app environment.ts?

如果我有一个身份验证库,包含组件、服务、ngrx 等......我如何访问实现身份验证库的应用程序的环境?所以 Auth 服务应该知道后端 url 来进行登录。所以:

无论 Authentication lib 在哪里实现,lib 服务都知道要从实现所述 lib 的应用程序环境中访问哪个服务器。

谢谢!!

0 投票
1 回答
705 浏览

angular - 无法在我的 NX 工作区中使用 @angular-service-worker

因为我正在使用Angular CLI: 1.5.0,所以我必须添加在您使用ng add @angular/pwawith时自动添加的所有文件Angular CLI:^ 6.0.0,但看不到任何服务工作者注册。

谁能告诉我在我的 NX 环境中这些文件(等)manifest.json的文件夹结构应该是什么?ngsw-config.json

0 投票
2 回答
7390 浏览

angular - Jest 测试成功,错误打印到控制台

我正在尝试使用jest@nrwl/nx. 我已按照本文将我的应用程序从 using 转换karmajest.

我遇到的问题是,即使我的测试通过了,由于某种原因,控制台中会显示以下错误:

我只有一项测试,即:

出于某种原因,如果我删除以下行,则不会显示控制台错误:

我已经看了几个小时的错误,但似乎无法弄清楚是什么原因造成的。我没有在我的测试或组件中执行任何 http 请求,所以不知道为什么会这样说ECONNREFUSED.

以前有人遇到过这个错误吗?

谢谢

0 投票
1 回答
2851 浏览

angular - 在 Nrwl/Nx 工作区中包含一些库的包

似乎在 Nrwl/Nx 工作区中只有一个 package.json 文件。现在,如果我们有多个应用程序,每个应用程序依赖于不同的包,那么我们必须将所有这些包包含在单个 package.json 文件中,这样在构建时不会增加所有应用程序的大小吗?(推测的 vendor.js 文件)。

例如,如果 app-1 依赖于 d3 而 app-2 依赖于 ag-grid 库,那么这两个库不会不必要地同时包含在 app-1 和 app-2 中吗?当 app-1 的用户访问应用程序时,不需要为他们加载 ag-grid。

我的理解是正确的还是我遗漏了什么?如果我的假设是正确的,有没有办法解决这个问题?

延迟加载的库怎么样?例如,仅对某些用户(具有管理员角色)可用的“管理员”库可能需要某些图形包,而不必为所有用户加载。

谢谢你。

0 投票
2 回答
778 浏览

firebase - Angular CLI 支持子域反向代理

假设 id 喜欢具有以下反向代理 url 重定向(用于页面加载):

angular (cli) 或nx中的子域是否有内置的反向代理支持?最近,firebase 增加了对多个子域的支持,但考虑到 1)它们是不同的域 2)firebase apis 需要 https,如何在开发中为它们服务?

proxy.config.js方式(https://angular.io/guide/build#bypass-the-proxy)和环境文件方式看起来都像是为单个应用程序制作的。我需要制作自己的反向代理吗?

0 投票
1 回答
526 浏览

angular - nrwl nx angular 的设计选择是什么

我正在使用 nrwl Nx 进行应用程序开发。到目前为止,我一直在关注这样的事情。

  • 为我的延迟加载功能创建了单独的库。例如:我有一个新闻模块,其中有新闻添加/删除/更新功能。该库具有所有必需的服务和路由。

  • 将上述库加载到我的应用程序中可以很好地完成这项工作。

一段时间后问题开始了。- 当我在其他不需要整个模块的应用程序中需要我在新闻库中使用的一些组件时。它需要一两个组件。

  • 然后我不得不通过提取服务注入和为数据生成的@input 重构这些组件以成为转储。

现在我需要创建新模块。它与上述相同,但用于添加事件/公告。

我的查询-我是否应该像新闻模块一样遵循上述方式

或以下方式。

  • 创建仅包含组件和服务的库。不要使用库中的服务(注入库中的任何组件)。

  • 在应用程序中使用库服务并使用库中的组件通过提供所需的@Input 来显示项目。

  • 在应用程序中处理所有路线和所有其他导航。

  • 所以图书馆将只是一个提到所有组件和服务的地方。而已..

我有人明白我想说的话.. 你更喜欢哪种方式继续。

0 投票
2 回答
2106 浏览

angular - 如何扩展现有的角度示意图

我想自定义ng g app原理图,以便调用ng g app myapp将创建myapp/src/environments/environment.ts如下文件:

Nx 文档显示了如何设置,但没有显示任何代码示例,我们将不胜感激。

0 投票
2 回答
2392 浏览

angular - 如何在 Angular 的另一个库中创建一个库?

这应该是一件非常微不足道的事情,因为我没有找到任何关于此的参考资料,或者我不知道在哪里以及如何查找它。假设我有一个作用域库core

@myscope/core

现在在这个库中,我有一个auth用于身份验证工作流的文件夹。

当我想在我的库中使用库时,我App使用以下方法导入它:

import {AuthService} from @myscope/core

我想要实现的是创建一个sub-library,这样我就可以这样使用:

import {AuthService} from @myscope/core/auth

我知道这可以通过在 中创建一个新路径来实现tsconfig,但我不认为这是一个好的解决方案,因为一旦我从这个库中创建了一个包,这个路径就不会被传递。

最好的方法是什么?

0 投票
1 回答
1556 浏览

angular - 使用 Nrwl 的 Nx 中的数据持久性模块,悲观更新的实现与乐观更新有何不同

我们正在为我们的 Angular 应用程序采用 Nrwl.io 的 Nx 框架。

作为其中的一部分,我们试图了解数据持久性模块中的optimisticUpdate 和pessimisticUpdate 方法之间的底层实现差异。

根据文档,pessimisticUpdate 将在客户端之前更新服务器,而使用optimisticUpdate,客户端首先更新。

然而,这两种方法在 github 上的源代码如下

从表面上看,将更新分为乐观和悲观似乎非常有用,但本质上这两种方法的实现似乎是相同的,我们正在努力理解这两种方法的含义。

此外,当 run 方法成功完成时,调用optimisticUpdate 方法的示例代码不会调度操作。我的理解是这将结束流 - 没有迹象表明后端调用应该返回什么。

任何一直在使用 Nx 的人都可以了解其中的区别以及我们需要在我们的服务中执行哪些操作以实现乐观的更新。

0 投票
1 回答
659 浏览

angular - 如何对进行中 RXJS 请求的取消进行单元测试

我正在使用 NGRX,并使用 Effects 发送 HTTP 请求。如果用户发送另一个请求,则应取消任何先前的请求。当我手动测试时它工作正常,但我希望能够对此进行单元测试。为了测试这一点,我模拟了发送 HTTP 请求并在一定延迟后发送响应的服务。然后,我有一个触发 4 个请求的 Marble hot observable。我希望我的效果只触发一次。但是,它根本没有被触发。

单元测试:

所以,我发送了 4 个搜索请求;第一个应该在 6 秒后返回数据,第二个应该在 5 秒后返回数据,依此类推。但是,我的单元测试失败了 loadData$ 是一个空的可观察对象,而它期望有一个项目。

如果我删除间谍中的延迟,它会按预期工作,并且 loadData$ 包含 4 个结果。

我的效果是使用 NX DataPersistence,如果您提供 id 函数,它会负责取消;如果新的操作带有相同的 id,它将取消初始请求。类似于使用 this.actions$.pipe(switchMap(...))