【问题标题】:Why does nrwl nx create a separate e2e project for each app?为什么 nrwl nx 为每个应用程序创建一个单独的 e2e 项目?
【发布时间】:2019-01-16 16:28:10
【问题描述】:
当创建一个新的 nx 工作区(即使用 create-nx-workspace)然后生成一个应用程序(使用 ng g app)时,它会在应用程序文件夹内创建一个应用程序文件夹(到目前为止一切顺利)以及另一个 app-e2e文件夹,也在应用程序文件夹内。
在我看来,在 src 文件夹旁边的 app 文件夹中创建一个 e2e 文件夹会更有意义,因为 e2e 测试应该属于那个特定的应用程序,而且它不会那样弄乱应用程序文件夹。
那么这个约定背后的原因是什么?
非常感谢!
【问题讨论】:
标签:
angular-cli-v6
angular-e2e
nrwl
【解决方案1】:
这个约定背后的原因是什么?
事实证明,这实际上是由于 Angular 6 CLI 造成的。 Nx 只使用内置的角度示意图。我最初并没有意识到这一点,但您可以通过在 app1 中使用 ng new app1 和 ng generate application app2 创建一个新应用程序来验证此行为。 app1 是使用常规结构创建的,而app2 和兄弟app2-e2e 是在app1 内的默认projects 目录中创建的。
最初,我和你有同样的问题。我一直在我的 nx 工作区中手动重组每个新生成的应用程序,以便 e2e 文件夹位于其各自的应用程序文件夹内。这导致我在 nx 存储库中创建了一个 feature request。在我为这个功能打开 a PR 之后,我向我解释了底层的 Angular CLI 6 约定。