问题标签 [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.
angular - 在 Ionic 应用程序中使用共享组件时生产构建失败
我有一个由 Nrwl Nx 工具创建的 monorepo。monorepo 已经包含一个 Angular Web 应用程序,现在我想将我的 Ionic 应用程序移动到现有的 monorepo。
工作空间的结构是,
我还想将我的离子组件重用到我的 Angular 项目中。为了实现组件的重用,到目前为止我看到的最好的方法是创建一个共享库。
要创建一个库,我使用以下命令,
ng 生成库 my-lib --prefix=lib
创建库 my-lib 后,我在 my-lib 中创建了一个组件。
my-lib.component.ts 看起来像,
在 angular.json 中,
并在项目中添加了以下路径tsconfig.json
,
我将此路径复制到我的移动应用程序的 tsconfig.json,
my-lib.module.ts 看起来像,
生成库后,我尝试在 Angular 和 ionic 应用程序中使用它。
在我的移动应用程序的 home.module.ts 页面中,
ionic serve
执行命令时一切正常。
尝试使用 --prod 构建 ionic 应用程序时,出现以下错误,
经过一番研究,我觉得这与一些AOT编译器问题有关?但我真的不明白如何解决这个问题。
我已经尝试使用 , 运行我的应用程序ionic build --prod --aot=false
,但它仍然失败并出现相同的错误。
这里的任何人都可以帮助摆脱这个错误吗?提前致谢。:)
nrwl - 为什么我们需要`afterEach(cleanup);`?
这是关于单元测试的问题(jest + @testing-library/react)
你好。这些天我开始使用@nrwl/react。这是令人惊叹的产品,我对 nx 的 monorepos 项目感到兴奋。
顺便说一句,afterEach(cleanup);
生成的模板测试文件中有。这是我的示例项目。
https://github.com/tyankatsu0105/reproducibility-react-test-nx/blob/master/apps/client/src/app/app.spec.tsx#L7
然而 react-testing-library 在使用 jest 时不需要清理。 https://testing-library.com/docs/react-testing-library/api#cleanup
请注意,如果您使用的测试框架支持 afterEach 全局变量(如 mocha、Jest 和 Jasmine),这将自动完成。如果没有,您将需要在每次测试后进行手动清理。
事实上,我afterEach(cleanup);
从测试文件中删除时看到错误。
发现多个带有文本的元素:
谢谢!
node.js - 在 Nx 工作区中运行 NestJS 构建工件时出错
当我尝试运行在 Nx 工作区中创建的 NestJS 应用程序的构建工件时,我遇到了错误。仅当我在不存在 node_modules 文件夹的存储库之外的任何地方运行生成的工件时,才会发生该错误。
重现步骤:
- 克隆这个 repo https://github.com/baumgarb/proxy-example
- 运行
npm install
以安装所有软件包 - 跑
ng build backend
- 进入 dist 文件夹
dist/apps/backend
- 在该文件夹中运行
node main.js
,您应该会看到后端成功启动 - 现在将 main.js 复制到克隆存储库之外的不同位置(例如
/tmp
或c:\temp
) - 在新位置再次运行
node main.js
,您将遇到以下错误:
您也可以尝试在 Docker 容器中运行构建工件,这将导致相同的错误。
谁能告诉我问题是什么以及如何解决?提前非常感谢!
gitlab - Gitlab CI/CD 和 Nx 受影响:构建
我无法让 Nx 在 Gitlab 的 CI/CD 工具中正确构建。
致命:不是有效的对象名称 remotes/origin/development~1 命令失败:git merge-base remotes/origin/development~1 remotes/origin/development 致命:不是有效的对象名称 remotes/origin/development~1
我尝试了不同的分支/命令,例如一个普通的:nx affected:build
并且我得到了同样的错误(只是在错误消息中指示了一个主分支)
任何人都能让 Nx monorepo 与 Gitlab 一起工作吗?
angular - 具有非类操作的 Angular Nrwl Nx 数据持久性
是否可以通过 Nx 数据持久性使用非基于类的操作?我在文档中找不到任何内容。这是我到目前为止所尝试的:
这给了我一个类型不匹配的错误。我想一种解决方法是自己使用@Effect({dispatch: false})
run 方法并从中分派而不返回任何内容。但也许有更好的方法,而不会滥用效果?
nestjs - process.env.NODE_ENV always 'development' when building nestjs app with nrwl nx
My NX application's npm run build:server
calls ng build api-server
that triggers the @nrwl/node:build
builder.
It builds the NestJS application as main.js
. Things work except I wanted process.env.NODE_ENV
to be evaluated at runtime but I think it was resolved at build time (via Webpack).
Currently, the value is always set to 'development'.
I am new to Nrwl's NX. Any solution this?
typescript - nrwl/nx 如何使用 npm 发布 NestJs 库?
我需要一些帮助,通过使用 nx 创建一个可发布的 nestjs 库。我已经阅读了很多文档,但没有任何帮助。
我在 NX 单一存储库中编写了一个 nestjs 库。现在我只想在 NPM 上发布这个库,但我不知道如何。
在官方 NX 文档中,我发现了一个名为“--publishable”的标志。唯一的问题是您不能将它与 NestJs 库一起使用。如果你输入这样的命令:
你会得到一个错误:
因此,对于 NestJs 库,此标志不起作用。
现在我想自己创建一个 package.json ,这就是我不知道的重点。我必须构建这个库,然后我必须在 npm 上发布它。这个过程害死我了...
我正在使用最新版本的 NX!
我会很高兴有一个解决方案。
typescript - 通过 nrwl nx 在 cypress 中使用 .feature 文件
我有一个带有 Nrwl Nx 工作区的 Angular 项目。对于我的 e2e 测试,我使用带有 typescript 的 cypress。对于这个测试,我想启用对带有 Gherkin 语法的功能文件的支持。
我在项目中添加了“cypress-cucumber-preprocessor”。当我使用 js 编写绑定时,此设置工作正常。但是,一旦我尝试设置打字稿的步骤,就会出现错误,并且无法使其正常工作。
js的设置:
ts 的设置:
此设置出现以下错误:
SyntaxError:“import”和“export”可能只出现在“sourceType:module”中
angular - 如何通过命令行在 cypress.json 文件中设置环境变量?(Angular CLI - nrwl nx)
我是 cypress 的新手,每天都在学习,我们正在尝试在 angular 项目中使用 cypress 实现 e2e 测试。
当我想通过命令行在 cypress.json 文件中设置环境变量时遇到问题
这是我的 cypress.json 文件
我想动态地替换 Environment 值,在我的例子中是从 Staging 到 dev。我正在尝试使用以下 ng 命令
当我在 POC 上工作时,这个选项工作得很好,正如他们在 cypress 文档中提到的那样(https://docs.cypress.io/guides/guides/environment-variables.html#Setting)
有人可以帮我解决这个问题吗?