【发布时间】:2019-07-20 03:19:24
【问题描述】:
情况: 我对 Angular 很陌生,想创建一个包含多个应用程序和库的 Angular 工作区。我跟着this tutorial 以 MonoRepo 的形式创建了一个带有 Nx 的 Angular 工作区。我按照教程中介绍的步骤创建了一个应用程序和一个库。
所以我有一个名为 first-app 的应用程序和一个名为 first-lib 的库。在 first-lib 中,我有一个组件 first-lib-component。我想在我的 first-app.html 中像这样使用组件或最好的库本身:
<h2> This is my first-app </h2>
<first-lib></first-lib> OR
<first-lib-component></first-lib-component>
我已经在 app.module.ts 中导入了 first-lib,并将 first-lib-module 添加到导入中。
问题:我想在我创建的应用程序中使用创建的库,这就是我目前失败的地方。我收到一条错误消息,指出“'first-lib-component' 不是已知元素”。
Nx website 声明:
...库的客户端在同一个仓库,所以不用打包 并且需要发布步骤。
如果不需要打包,我该如何使用我的共享组件/项目(库)?
我的问题: 如何在应用程序中导入和使用库(组件)?
【问题讨论】:
-
Nx 不再有用,因为从 Angular 6 开始支持单存储库,并且在 Angular 7 中大大增强。我会阅读 Angular 7 中的 Angular 单存储库并忘记 Nx。
-
但是,无论我创建一个带或不带 Nx 的 Angular Monorepo,难道没有一种标准化的方法可以在应用程序中导入和使用该库吗?如果不使用 Nx,我也找不到任何相关信息。
标签: angular angular-library monorepo nrwl