问题标签 [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.
angular - 使用“forRoot”将配置数据传递给角度库的依赖项
我创建了两个 Angular 库,一个将另一个作为依赖项。
需要使用 forRoot 方法配置依赖项。如何将配置数据从父库传递给它的依赖项?
例如,假设我们有TopLevelLib
,它OtherLib
作为依赖项。OtherLib 需要使用 forRoot 传递一个配置对象。
最终用户的 AppModule,导入到
TopLevelLib - 由最终用户导入 AppModule
OtherLib - 由 TopLevelLib 导入
我需要将配置对象实例从 TopLevelLib 传递到 OtherLib。这样当最终用户使用 forRoot 配置 TopLevelLib 时,OtherLib 将配置相同的数据。
关于如何实现这一点的任何想法?
angular - 如何从 Angular 的库中导出模型?
我创建了一个 Angular 库,但我想导出一个我的应用程序可以使用的模型。我怎样才能做到这一点 ?
例如 :
我的图书馆
库-model.ts
我的库.component.ts
我的库.module.ts
public_api.ts
我的应用
app.component.ts
app.component.html
但是,使用此设置,我在构建库期间收到“无法导出值 LibraryModel ...”错误。我想使用 LibraryModel,这样我就可以轻松地在 app.component.html 中传递数据。我怎样才能做到这一点?
angular - 如何从 Angular 库(包)中导出类(不是组件)
我在这里尝试了几个答案,但没有一个对我有用。我试图从库中导出类并在我的其他应用程序上使用它。但是当我尝试这样做时,我得到了这个错误:
ROR TypeError: marvilix_header__WEBPACK_IMPORTED_MODULE_1__.RoutingHeader 不是构造函数
我的代码:routing-class.ts
public_api.ts
app.component.ts
有什么想法吗?提前Tnx!
angular - 如何让我的角度库在使用时安装它的依赖项?
现在我制作了一个依赖于 ngx bootstrap 和其他人的角度库
angular - 带有 ngx-translate 的自定义 Angular 库
我创建了自己的私有 Angular 库,其中包含多个组件,让我的生活更轻松。我按照本教程制作了这个库。一切都很好,我什至将它添加到另一个项目中进行测试。
现在是我必须支持多种语言的部分,因为我住在比利时。我过去使用过 ngx-translate 包没有任何问题,所以我认为这很容易。
我在我的项目中添加了一个带有翻译 json 的 assets/i18n 文件夹。
我发现 angular cli 不包含构建时的资产,因此您必须在制作包之前手动或使用 gulp 将它们添加到 dist 文件夹。在这样做之后,我注意到标签没有被翻译,除非我将翻译包含到主应用程序的 json 文件中。
我的库中的每个组件都有自己的模块,所以我认为我只需要在这些模块中添加翻译模块。所以我做了以下。
这让事情变得更糟,不仅标签仍然没有被翻译,我的主要应用程序甚至没有使用自己的翻译。在库模块中的这些更改之前,主应用程序的翻译没有问题......
所以是的,你猜对了,我被困住了......我似乎找不到正确的解决方案。
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-css
scss 文件并显示错误
我该如何解决这个问题?
angular-library - 安装和使用 igniteui-angular 控件后在 Angular 库中构建错误
我创建了一个 Angular 项目,该项目也有一个 Angular 库,我需要在其中安装和使用 Ignite UI 进行 Angular。当我使用命令安装它"npm i igniteui-angular"
并在其中使用NgxInputGroupModule
时,它开始给出下面给出的构建错误;
任何帮助摆脱这个问题将不胜感激。
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 得到解决
解决方案是什么?
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
目前我必须通过命令行进入该目录才能创建一个组件。但我有一种感觉,我可以像所有其他命令一样从工作区执行此操作。这将是最有益的,而不是必须使用命令行或在目录之间来回切换。
快速概览:
- 在 Angular 工作区中创建一个库
- 在 Angular 工作区的库中创建了一个模块
- 想要在工作区的库中的模块内创建组件
angular - Angular 库模块从模块中导出组件、服务和其他
我创建了一个 Angular 库。在我的库中,我希望通过在其中包含功能模块来使其干净:
例子:
我的导航模块目前看起来像这样:
我的图书馆模块目前看起来像这样:
我发现的大多数教程都是使用一个只有组件的库,而没有其他东西,比如模块。我发现在库中使用模块的教程没有显示如何导出片段。
本质上,我想将此库导入任何应用程序,并能够NavigationSidebarComponent
从库或服务中的模块调用或任何其他组件。
我会继续研究这个。