问题标签 [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.
angular - CommonJS 中的模块
将 Nx 用于我的 Angular 工作区,并注意到一些问题,这引发了我的问题。在库的所有tsconfig.spec.json文件中使用 CommonJS 模块的目的是什么?检查Nx 示例,所有库都没有,只有应用程序包含"modules: "commonjs"
. 如果在我的情况下我纯粹在前端使用模块,它是否仍然需要?我们不能依赖 Angular/TypeScript 项目中已经存在的 ES2015 (ES6) 进行开发吗?毕竟目标显然是 ES5,就像这样"target": "es5"
。
特别是,如果 CommonJS 模块仅适用于tsconfig.spec.json文件,即用于单元测试(在我的例子中是开玩笑)。"modules: "commonjs"
从我的tsconfig.spec.json中删除仍然使我所有的单元测试都通过了,构建的包工作正常,同时在为我的应用程序提供服务期间进行检查,没有任何单一的错误/警告。
prettier - 更漂亮与 nx 格式:检查
nx 格式:检查else
后在 html 文件中不需要冒号:
但是当我在同一个项目中运行更漂亮时,它需要一个冒号else
- 为什么这不同?
我认为这nx format:check
只是在我的根目录中执行更漂亮? - 我缺少一些配置选项吗?
更多信息:
在包含角度模板的子目录中,我可以验证问题:
请注意,nx 不会报告问题,但 prettier 会报告:以下是版本:
angular - 使用 jasmine-marbles 的 takeUntil-using NGRX 效果测试未按预期完成
给定两个 NGRX 效果(使用 nrwl/nx dataPersistence 表示法),其中第二个通过以下方式绑定到第一个takeUntil
:
目的是在 effectOne$ 发出后立即因 UI 输入而停止发出 SomeResultAction(效果很好)。
我现在正在尝试使用 jasmine-marbles 库来测试这些效果:
即使我希望expected
observable 在interruptingAction
发送后完成,此测试也会成功。
angular - 在 Angular-CLI 中设置操作系统环境变量
语境:
(对于我遇到 XY 问题的情况)
由于各种原因,我们最近决定模块化我们的 Angular 应用程序。为了实现这一点,我们angular-cli
使用了Nrwl/Nx workspace
一个古老的手动 webpack 构建。我们使用 Jest 进行单元测试,我们的构建服务器是 Bamboo。为了向 Bamboo 提供可理解的测试结果,我们使用jest-bamboo-reporter
. 我们的测试构建者是@nrwl/builders:jest
.
问题:
为了测试我们的整个应用程序,我们自然需要测试所有的库和应用程序。这一切都很好,具有以下设置:
唯一让我们无法保持这种整洁的是常量JEST_REPORT_FILE
环境变量定义,它告诉记者输出应该落在哪里。有没有更好的方法来做到这一点?我很想在ng test
每个库的描述中指定环境变量。
angular - 库内单元测试组件时生成的测试失败
我的项目是使用 nx 原理图创建的,并且我在库中有一些组件,我想使用 jest.js 对其进行单元测试。每个测试都失败并出现以下错误:
我已经尝试在规范文件中导入 zone.js、导入模块、删除异步、在每次测试之前重置测试环境,但一切都失败了,并出现了一些不同的错误。我还应该提到我正在使用来自 vmware 的清晰组件。
这是 .spec 文件:
我期待在使用 nx 时这应该像预期的那样工作。我在这里想念什么?
nestjs - nrwl nx 命令为嵌套模块生成 lib
我是 nrwl nx cli 的新手,并且在他们的文档中进行了广泛搜索,但找不到将 nestjs 模块生成为 lib 而不是 app 中的实际模块的命令。
我想将nestjs模块创建为lib的原因是因为我的mono repo中有几个nestjs应用程序,并且如果我必须共享代码(在我的情况下是模块),则根据nrwl nx指南,它必须是一个lib .
任何人都可以分享命令来执行以下操作:-
- 在库中生成 nestsjs 模块
- 在 libs 文件夹中为该模块创建 nestjs 服务
任何帮助深表感谢。
angular - 来自特定路由时不要执行 Nx 的路由导航
在我的 Angular 应用程序中,我使用 NgRx 和 Nx 的路由器导航:
我的路线定义如下:
FooComponent
有一个<router-outlet></router-outlet>
来显示三个组件之一A_Component
,B_Component
或C_Component
。因此,当用户导航到 时configurator/
,会FooComponent
显示A_Component
并SampleAction
触发 。没关系。
但是:当用户从其中一个导航configurator/b
或configurator/c
返回到时configurator
,SampleAction
不应触发 。
我怎么能那样做?
nestjs - 如何在 NestJS 中跨模块全局注入价值?
我正在使用 nx 工作区和nestjs。我想在 Nestjs 应用程序的多个模块中注入一个值。
最终目标是重现与Angular 中提到的 vsavkin类似的配置管理方式
但这似乎是不可能的,或者我错过了一些东西。
Nest 无法解析 FeatureService (?) 的依赖关系。请确保索引 [0] 处的参数在 FeatureModule 上下文中可用。
我如何通知FeatureModule
它需要访问这个全局注入值?
这在内部工作正常AppService
(根模块中的服务),但在任何子模块中都没有。
下面是我的代码。或codesandbox.io上的完整示例
app.module.ts
功能模块.ts
功能.service.ts
angular - 如何从单声道存储库构建 NestJs api
我正在做一个项目,我们将代码存储在由 nrwl “管理”的 monorepo 中。该 repo 包含几个 Angular 应用程序和几个 nestjs api。
现在我们想要对 api 进行 dockerize 以便能够将它们部署到我们的 kubernetes。
我可以通过调用来启动单个 api ng serve api1
。我还可以通过运行构建单个 api ng build api1
。我遇到的问题是每个 api 都需要与其一起部署的完整 node_modules 文件夹。据我所知,Angular 使用 webpack 来打包其所有依赖项。
有没有办法构建 NestJs api 并包含所有必需的 node_modules?
angular - 部署在 NX monorepo 中创建的 nestjs 服务器
我有一个 NX monorepo,其中主要包含 Angular 前端代码,我们已经添加了一个快速服务器,我正试图弄清楚如何部署它。问题是如何从仅用于服务器应用程序的节点模块中分离出基于供应商的代码。
通常,对于一个典型的 Angular 应用程序,我们有一个包含所有 3rd 方依赖项的供应商文件,并且从历史上看,对于服务器应用程序,它们会有自己的 package.json,我们可以在构建时在本地安装。我假设他们是解决这个问题的一种方法,但我没有找到任何参考。我真的不想把整个节点模块文件夹放在服务器上,也不想创建一个单独的 package.json 只引用服务器代码。
任何帮助表示赞赏,谢谢