问题标签 [angular-library]

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 投票
2 回答
2155 浏览

angular - 使用“forRoot”将配置数据传递给角度库的依赖项

我创建了两个 Angular 库,一个将另一个作为依赖项。

需要使用 forRoot 方法配置依赖项。如何将配置数据从父库传递给它的依赖项?

例如,假设我们有TopLevelLib,它OtherLib作为依赖项。OtherLib 需要使用 forRoot 传递一个配置对象。

最终用户的 AppModule,导入到

TopLevelLib - 由最终用户导入 AppModule

OtherLib - 由 TopLevelLib 导入

我需要将配置对象实例从 TopLevelLib 传递到 OtherLib。这样当最终用户使用 forRoot 配置 TopLevelLib 时,OtherLib 将配置相同的数据。

关于如何实现这一点的任何想法?

0 投票
2 回答
7507 浏览

angular - 如何从 Angular 的库中导出模型?

我创建了一个 Angular 库,但我想导出一个我的应用程序可以使用的模型。我怎样才能做到这一点 ?

例如 :

我的图书馆

库-model.ts

我的库.component.ts

我的库.module.ts

public_api.ts

我的应用

app.component.ts

app.component.html

但是,使用此设置,我在构建库期间收到“无法导出值 LibraryModel ...”错误。我想使用 LibraryModel,这样我就可以轻松地在 app.component.html 中传递数据。我怎样才能做到这一点?

0 投票
0 回答
1055 浏览

angular - 如何从 Angular 库(包)中导出类(不是组件)

我在这里尝试了几个答案,但没有一个对我有用。我试图从库中导出类并在我的其他应用程序上使用它。但是当我尝试这样做时,我得到了这个错误:

ROR TypeError: marvilix_header__WEBPACK_IMPORTED_MODULE_1__.RoutingHeader 不是构造函数

我的代码:routing-class.ts

public_api.ts

app.component.ts

有什么想法吗?提前Tnx!

0 投票
1 回答
32 浏览

angular - 如何让我的角度库在使用时安装它的依赖项?

现在我制作了一个依赖于 ngx bootstrap 和其他人的角度库

0 投票
4 回答
10172 浏览

angular - 带有 ngx-translate 的自定义 Angular 库

我创建了自己的私有 Angular 库,其中包含多个组件,让我的生活更轻松。我按照本教程制作了这个库。一切都很好,我什至将它添加到另一个项目中进行测试。

现在是我必须支持多种语言的部分,因为我住在比利时。我过去使用过 ngx-translate 包没有任何问题,所以我认为这很容易。

我在我的项目中添加了一个带有翻译 json 的 assets/i18n 文件夹。在此处输入图像描述

我发现 angular cli 不包含构建时的资产,因此您必须在制作包之前手动或使用 gulp 将它们添加到 dist 文件夹。在这样做之后,我注意到标签没有被翻译,除非我将翻译包含到主应用程序的 json 文件中。

我的库中的每个组件都有自己的模块,所以我认为我只需要在这些模块中添加翻译模块。所以我做了以下。

这让事情变得更糟,不仅标签仍然没有被翻译,我的主要应用程序甚至没有使用自己的翻译。在库模块中的这些更改之前,主应用程序的翻译没有问题......

所以是的,你猜对了,我被困住了......我似乎找不到正确的解决方案。

0 投票
2 回答
4510 浏览

angular - 将第三方 scss 文件捆绑到使用 angular-cli 创建的 angular 库中

我使用angular-cli创建了一个角度库,这进一步依赖于materialize-css。所以我在projects/lib-name/package.jsonmaterialize-css中提到过。peerDependencies

现在由于没有对全局 scss 的直接支持,所以我使用scss-bundle将所有 scss 文件捆绑为一个,然后将文件复制到库的dist文件夹中。

scss 文件的结构

lib-name.scss导入/common/_materialize-css.scss

这是我在应用程序的package.json中创建的脚本

但这不是解析materialize-cssscss 文件并显示错误

我该如何解决这个问题?

0 投票
1 回答
330 浏览

angular-library - 安装和使用 igniteui-angular 控件后在 Angular 库中构建错误

我创建了一个 Angular 项目,该项目也有一个 Angular 库,我需要在其中安装和使用 Ignite UI 进行 Angular。当我使用命令安装它"npm i igniteui-angular"并在其中使用NgxInputGroupModule时,它开始给出下面给出的构建错误;

任何帮助摆脱这个问题将不胜感激。

0 投票
1 回答
2233 浏览

angular - 使用 angular-cli 创建的 angular lib 中的 scss 编译问题

Created( ng build my-lib) 一个带有全局 scss 的 angular lib,然后将其捆绑到一个文件中并复制到 lib 的文件夹中。

现在my-lib.scss导入一些资源,例如

我将资源文件夹复制到我的库中

现在在我的应用程序的styles.scss文件中,我正在像这样导入my-lib.scss文件

但这显示错误

我猜资源正在相对于文件src/styles.scss而不是相对于dist-lib/my-lib/lib/sass/my-lib.scss 得到解决

解决方案是什么?

0 投票
2 回答
4942 浏览

angular - Angular 库模块从工作区生成组件

我有一个用三个项目创建的 Angular 工作区。除了我刚刚创建了一个库之外,我还希望在其中包含可重用的模块。

通常对于项目(应用程序和库),我运行以下命令来生成模块或组件:

ng g c component componentName --project=UserPortal

ng g c component componentName --project=myLibrary

但是现在我需要向其中的模块添加组件:

例如库: projects myLibrary src lib navigation-module 在此处添加组件

对于应用程序项目模块: projects UserPortal src app userModule 在此处添加组件

通过运行,我能够在工作区的库项目中创建一个模块:

ng generate module navigation-module --project=myLibrary

目前我必须通过命令行进入该目录才能创建一个组件。但我有一种感觉,我可以像所有其他命令一样从工作区执行此操作。这将是最有益的,而不是必须使用命令行或在目录之间来回切换。

快速概览:

  1. 在 Angular 工作区中创建一个库
  2. 在 Angular 工作区的库中创建了一个模块
  3. 想要在工作区的库中的模块内创建组件
0 投票
2 回答
6440 浏览

angular - Angular 库模块从模块中导出组件、服务和其他

我创建了一个 Angular 库。在我的库中,我希望通过在其中包含功能模块来使其干净:

例子:

我的导航模块目前看起来像这样:

我的图书馆模块目前看起来像这样:

我发现的大多数教程都是使用一个只有组件的库,而没有其他东西,比如模块。我发现在库中使用模块的教程没有显示如何导出片段。

本质上,我想将此库导入任何应用程序,并能够NavigationSidebarComponent从库或服务中的模块调用或任何其他组件。

我会继续研究这个。