问题标签 [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 回答
542 浏览

angular-cli - ng build --aot 失败,但 ng build 与已安装的库一起工作正常

我们有一个库项目,它位于我们发布到 npmjs 的 nx 项目中。它是从@angular/material 派生的组件的集合。该库已发布到 npmjs @vdlx/vdl-angular。

我们的构建使用 ng-packagr 根据它们的依赖关系依次构建每个组件。

当从 npm 安装到干净的 angular-cli 或 nx 项目中时,该ng build命令工作正常,但ng build --aot失败并出现错误。

在库 nx 项目中,使用 aot 构建应用程序可以正常工作,可能是因为它从源代码(与 node_modules 或项目 /dist 文件夹)获取组件。

这是针对该问题的简单重新创建:https ://stackblitz.com/edit/angular-hrvy5y?file=src%2Fapp%2Fapp.module.ts 。

它肯定在 stackblitz 中有效。在本地安装项目并运行ng build --aot失败。

我怀疑我们的库中缺少 angular-cli 项目期望的东西。到目前为止,我一直在尝试使用消费应用程序,但那里没有乐趣。

欢迎提出建议。

0 投票
1 回答
505 浏览

sass - 如何使用特定于应用程序的值覆盖共享库中的 sass 变量

给定具有以下布局的 Nx monorepo (angular-cli)

在共享库中有一个 variables.scss 文件,其中包含颜色变量。功能库中的组件样式表会导入这些变量。到目前为止,一切都很好。app1 和 app2 都导入功能库(延迟加载)

问题:如何覆盖颜色变量以便为 app1 和 app2 渲染具有不同颜色的功能组件?

0 投票
1 回答
846 浏览

git - 如何确定使用 NX 运行增量构建所需的提交范围

在 CI/CD 服务器中,如何确定要包含在nx affected:build --base=master~1 --head=master命令中的提交范围?

https://nx.dev/react/api/workspace/npmscripts/affected-build

例如,对于只有 1 次提交到 master 触发构建的用例来说,这将是微不足道的。但是,如果是 2 次或更多次提交触发了 CI/CD 上的构建,那么我如何确定构建运行的最后一次提交以确定--headarg 使用的某些提交范围?

0 投票
1 回答
205 浏览

nrwl-nx - 如何使用angular和nest.js在nrwl nx monorepo中设置wallaby.js

我尝试在我的 nrwl/nx monorepo 中设置小袋鼠。我在这个 monorep 中有一个 angular 8 和一个 nest.js 应用程序。我使用 Jest 进行测试和最新的 Jetbrains Webstorm IDE。我找不到任何有关如何在此设置中启动和运行小袋鼠的说明。我能找到的唯一有用的资源是来自GitHub 上的TomWhiteOmni的示例存储库。但是,它们针对的是较旧的 Nx 版本。有没有人有这样的设置工作并愿意分享说明?

0 投票
1 回答
642 浏览

angular - Angular 不会摇动包含客户端(角度)和服务器代码的 nx lib

我正在使用 nrwl nx 工作区。我有一个工作区库 ( libs/jobs),其中包含我的“工作”模块的所有逻辑。它包含服务器端代码以及角度模块。角度模块对服务器代码没有依赖关系,但是如果我通过它加载模块失败,因为它在编译时import('@reporting/jobs').then(m => m.JobsClientModule)找不到节点 api 。fs

我认为摇树会消除未使用的服务器代码。为什么不呢?

我目前的解决方法是在tsconfig.json--> path:中添加一个新条目"@reporting/jobs-client": ["libs/jobs/src/client/index.ts"]。仅从模块中导入客户端内容。但这感觉很hacky :(

有什么建议可以为一个功能创建一个包含所有代码(服务器和客户端)的库/模块吗?

0 投票
1 回答
1282 浏览

angular - SyntaxError:无法在 Angular/Nx/jest 应用程序中使用 @ionic-native/health 的模块外部使用 import 语句

请帮忙,我明白了

在 Angular 应用程序中使用 @ionic-native/health。在这里回购,运行“npm i”,然后运行“ng test”:

https://github.com/chauey/import-issue-ws

SyntaxError: 不能在模块外使用 import 语句

0 投票
1 回答
1917 浏览

angular - Monorepo 中 Angular 库与 Angular 模块的优势?NX 架构

我想知道在 Angular 中使用库而不是模块有什么好处,因为 nx.dev 建议使用 monorepo 架构。

我了解 npm 可发布功能(例如另一个 repo 将使用的接口)的好处,但是为什么我要使用与业务相关的功能(例如主页)创建一个库,例如:

而不是

0 投票
3 回答
1002 浏览

tslint - 如何强制 nrwl nx 尊重标签更新?

当我更新 nx.json 中的项目标签时,TSLint 似乎没有意识到标签已更改,并且即使违反了依赖项,也会检查并构建项目。

例子

目前我的 nx.json 文件看起来像

我的根 tslint.json 包括:

当我运行时,这会按预期通过 linting ng lint hep

但是,如果我编辑 nx.json 中的标签,则 linter 不会显示任何错误。例如,如果我将 nx.json 修改为如下所示(从库中删除标签),它仍然会 lints 并构建而不会出现任何错误。

如果它有用,当我更新 tslint.json 中的规则时,linter 确实会抛出错误,但我希望它也能确认对 nx.json 的更改。

有没有办法让 linter 在更新 nx.json 中的标签时显示错误?

0 投票
3 回答
3567 浏览

angular - 自 Jest 25 以来,覆盖率报告具有不同的源路径

我正在运行一个带有@nrwl/nx 设置和用于单元测试的 Jest 的 Angular 项目。我已将 Jest 配置为为每个应用程序和 lib 生成 lcov 文件,然后由 SonarQube Scanner 拾取以报告测试覆盖率。每个库都是它自己的声纳模块。

最近我将我的 Jest 版本从 24.1.0 更新到了 25.1.0。从那时起,我在 SonarQube 中的覆盖率始终为 0%,因为扫描仪无法找到文件:

我分析了两个版本的 lcov 文件,我注意到生成的路径发生了变化。

Jest 25.1(不起作用)

开玩笑 24.1(工作)

当我手动将其更改为以下内容时,这也有效:

但是现在我有点卡住了,因为我没有找到一种方法来告诉 Jest 以旧方式生成路径或告诉 Sonar 现在路径是不同的。

0 投票
3 回答
6135 浏览

typescript - TypeORM OneToMany 导致“ReferenceError:无法访问”'在初始化之前"

我有两个实体:UserHabit。用户可以创建多个习惯,因此我在用户上使用OneToMany关系(分别在习惯上使用ManyToOne)。

用户实体

习惯实体

问题

设置上述关系时,我收到以下错误

笔记

我使用Nx并创建了一个NestJS应用程序。TypeOrm 版本是“^0.2.22”,@nestjs/typeorm 版本是“^6.2.0”

我的tsconfig如下:

我尝试使用ManyToMany关系并且它有效。此外,在单独的 NestJS 应用程序(没有 Nx)上,我无法重现此参考错误。在tsconfig.json中更改 ECMAScript目标版本也不起作用。

这两个实体仅在其服务中使用,并未在其他任何地方实例化。

我很感激任何帮助。先感谢您。