问题标签 [nx-workspace]
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 - 在新的 nx 工作区中创建自定义 .editorconfig、.eslintrc.json 和 .prettierrc
当我从角度预设创建新的 nx 工作区时,我想插入 .editorconfig、.eslintrc.json 和 .prettierrc 的自定义(公司范围)配置,而不是每次都复制它们。
有没有办法自定义 create-nx-workspace?
作为后备,我会对覆盖上述文件的某种“ng add ...”(或正确的 nx 替代方案)感到满意。
socket.io - 构建失败并出现解决错误
我正在尝试在一个苗条的组件中设置 socket.io-client。
文档说我可以做到import { io } from 'socket.io-client'
。
但是当我尝试使用serve
目标运行应用程序时,命令失败并显示以下日志:
我生成应用程序的步骤:
- 使用启动 nx 工作区
yarn create nx-workspace
yarn add @nxext/svelte
使用链接安装 svelte 生成器: https ://nx.dev/community#:~:text=the%20Nx%20workflow-,%40nxext/svelte,-Nx%20plugin%20to- 使用已安装的生成器生成
svelte
应用程序。 - 在组件中添加
socket.io
客户端代码(文档中提到的基本套接字初始化)。 - 由于我的服务器和客户端不会托管在同一个域上,因此添加
import { io } from 'socket.io-client'
并初始化套接字使用const socket = io(SERVER_URL)
(在我的情况下是 http://localhost:3000) - 使用 . 安装 socket.io 客户端
yarn socket.io-client
。 - 使用,手指交叉运行
serve
目标。nx run-many --target=serve --all --parallel
结果:上述日志。
我错过了什么?
typescript - NX 工作区和打字稿中的 cucumber-js,找不到模块(共享库)
我有一个 NX 工作区,里面有 Angular 和 NestJS。我也有一些共享库。我想测试一个使用生成的共享库之一的 NestJS API 项目
我只是在我的 NestJS 项目中使用它,就像对 NX 分配的名称进行正常导入一样。当我在开发模式下运行项目本身时效果很好,但是当我使用 @nestjs/testing 模块运行应用程序时,它会失败。
从我的 API 代码中删除库引用时,我的测试运行良好,所以它实际上只在黄瓜测试中。这是我创建测试模块的方式:
要启动 e2e 测试,我调用以下命令:
我的 tsconfig.json 看起来像这样:
我在根目录下的 cucumber.js
这是我在 package.json 中的依赖项
看起来 cucumber-js 不使用定义库的 tsconfig ,因为当我正常运行代码时它可以工作,而当我删除 lib 导入时,我的测试也可以工作。
有人知道吗?
typescript - 使用 NX 将 typescript 代码编译成单个文件
我有这个打字稿项目,只有几个文件;一个导入其他文件的主文件。这对我的问题不是很重要,但是当我使用 webpack 将它编译为 javascript 时,我得到一个没有导入或要求的文件,所有内容都是内联的。例如,如果我将该单个文件的内容复制到浏览器中,它就可以正常运行。
所以,现在我想把这个项目移动到一个 nx 工作区。我猜这个项目将成为一个app
(不是一个库),但我如何指示 nx 将它编译成一个独立的单个文件。这可能吗?
任何帮助/指导将不胜感激!
angular - 如何解决 Micro Frontend Shell 应用程序为子 Micro 应用程序抛出“未知元素”错误?
我在 Shell(父)应用程序和 Micro(子)应用程序中都导入了所有适当的模块,但出现错误;特别是在我的情况下,“mat-chip-list”只有在我启动 Shell(parent) 应用程序时才不是已知元素。
我必须有一个配置:webpack.config.js 或 nx.json 或 project.json 或 angular.json?
模块:图 1:应用程序文件夹,图 2:Shell 应用程序模块导入部分,图 3:Shell 应用程序模块导出部分,图 4: sharedModule导入部分,图 5:SharedModule 导出部分,图 6:材料模块导入部分,图 7 :导出模块导出部分
angular - 如何查看哪个版本的角度取决于 package.json 的每个库
我需要检查我的角度应用程序上安装的每个库需要哪个版本的角度,因为其中一个已损坏我的 nx-workspace 应用程序。我怎样才能看到这些信息?.
angular - 使用您的 Angular 库运送资产
我正在使用 NX 工作区构建一个角度组件库。ATM 我正在实现一个文件上传器。此上传器将包含一个图像 (svg),该图像应包含在库/包中。
我在互联网上找到的所有解决方案都要求图书馆的消费者更新他们的angular.json
应用程序部分。对我来说,这是绝对不行的。以下是我找到的一些资源来解释这一点:
我已经通过添加以下assets
字段修改了我的 ng-package.json:
尝试添加
到 lib angular.json 部分(project.json - NX angular.json V2 样式),它根本不构建。
尝试以下 ng-package.json 配置:
在包含的链接中,它确实解释了如何构建一个为您执行此操作的 NX 原理图,但是任何构建使用此库的应用程序(角度工作空间样式)的人都可能无法使用此原理图。
其他人(在 github 链接中)也提到某些解决方案仅适用于同一 NX 工作区中的应用程序,这当然也无助于任何人。
我很困惑为什么库提供的资产不能开箱即用,或者不修改消费应用程序。您也可以通过 USB 记忆棒传送它们……不过,我可以提供一个角度示意图。
另外,我宁愿通过css设计图标,而不是消费者必须更新自己的文件,但我仍然想知道是否有一个好的解决方案。
有没有人有经验如何以专业的方式处理这个问题?
编辑
似乎很难找到有关如何使用 NX 构建和发布角度示意图的信息,但这似乎是一个有用的链接
reactjs - Twin Macro 无法在 NX 工作区项目中获取 daisyui(tailwind 的插件)类
我正在使用 nx 创建项目,并且还使用 nx 预设来设置项目,并且我尝试添加一些现成的 UI 库,首先添加 tailwind,然后添加 'daisyui' tailwind 组件。但是我遇到了似乎宏找不到daisyui类的问题。对于正常的顺风类,它工作正常。
如果您需要我在这里缺少的更多上下文和文件配置,请告诉我。谢谢你的所有帮助。
错误:
btn 是 daisyui 组件上的按钮类名。
我如何使用双宏
.babelrc
和 project.json 设置配置
我的 webpackConfig.js
webpack-tailwind.config
和导入所有顺风的 style.scss
docker - /bin/sh: git: not found - 带有 Nx 工作区的 GitLab CI
我为我的 monorepo 使用了 nx 工作区,它依赖于nx-affected实用程序来了解两种状态之间的差异。我想在将代码推送到该分支时触发暂存部署,因此我使用以下命令
在本地运行它就可以了,但是在 ci 中运行它会产生以下错误
附上我的整个 ci 文件以供参考
angular - ngrx 具有额外属性但没有实体的功能状态初始化
在使用的 Angular 项目中,NX Workspace
我有一个空的根存储和不同的功能状态。
我最初初始化了一些不属于实体模型的特征状态属性(参见LandleistungState
下面的状态接口)。然后在稍后阶段将实体添加到状态中。
这会在选择器中产生一些问题,因为我不能使用selectAll
或selectEntities
方法,因为我得到一个异常,说实体是未定义的。这很清楚,因为还没有实体存在,但这让我怀疑我的方法是否仍然正确,或者我可能犯了一些概念上的错误。
有没有办法在像我这样的情况下继续使用selectAll
或selectEntities
方法,状态已经初始化,但还没有存储实体?在这种情况下,方法不应该简单地返回 null 吗?
根存储 - app.module.ts
特征状态
特征减速器
实体模型
特征选择器