问题标签 [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 投票
1 回答
1280 浏览

angular - 在 DevOps 中自动增加 Angular6 库版本

我正在构建一个 Angular 库以用于其他 Angular 应用程序。我想在 DevOps (VSTS) 中创建一个构建管道,因此在每次提交到 git 后,该库将被构建并作为 Artefacts 发布以供使用。

到目前为止一切正常,我的问题是 Angular 库版本。如果我尝试发布具有相同版本的库,我会收到此错误:

禁止提要已包含版本“0.0.1”的包“my-lib”:my-lib

我的构建管道:

在此处输入图像描述

为了解决这个问题,我必须在每次构建之前更改 package.json 中的版本在此处输入图像描述

或者通过cli:npm version 0.0.2

我可以自动完成吗?这意味着,除了提交/推送之外不需要额外的操作?我已经搜索了很长时间,但找不到解决方案。谢谢

0 投票
1 回答
984 浏览

angular - Angular - 将本地外部模块添加到应用程序

我有一个项目my-components和一个项目my-showcasemy-components是一个 Angular 库,而my-showcase是一个 Angular 应用程序。有时,当我在库中更改或添加组件时,我会提交到私有 git 并发布到私有 npm。然后我可以在my-showcase等其他应用程序中使用它。在提交和发布之前,我会对其进行测试。到目前为止,我在 my-showcase 中创建和开发了一个新组件。完成后,我将其放入my-components

有时我通过 npm 导入我的角度组件库:

对于测试和开发,我将其更改为本地路径:

不幸的是,我收到以下错误消息:

和:

显然,app my-showcase中库中的组件使用了my-components中的错误 node_module 文件夹(特别是@angular/core),而不是my-showcase中的 node_module 文件夹。

在处理 Angular 库和 NPM 时,是否有人为我提供解决方案或我的理解有误?如果太难以理解,请告诉我。

0 投票
1 回答
1312 浏览

angular - 如果您不关心旧浏览器,将 tsconfig 目标设置为 es6 是否安全?

在 Angular 应用程序中,如果您不关心旧浏览器,将tsconfig.json compilerOptions.target设置为"es6"(或等效的)是否安全?"es2015"

关于这件事,在Angular 官方文档中是这样写的:

默认情况下,目标是 es5,如果您只想将应用程序部署到 es6 兼容的浏览器,可以将目标配置为 es6。但是如果你在IE等一些老浏览器中将target配置为es6,就会抛出Syntax Error。

所以假设我只想将我的应用程序部署到 es6 兼容的浏览器我应该将编译目标设置为 es6

还有其他我应该注意的问题吗?

例如,一些 Angular 第三方库开始无法工作并抛出臭名昭著的错误:

TypeError:没有'new'就不能调用类构造函数

假设在这些情况下此类第三方库中存在错误是否正确?

0 投票
2 回答
11595 浏览

angular - 将 Angular 材质添加到自定义库

我想编写自己的库并在其他项目中重用它,所以我创建了一个新应用程序并在那里生成了一个库:

如何将 Angular Material 添加到我的库中?我想使用这样的东西:

但我得到一个错误:Could not find the project main file inside of the workspace config (projects/first-lib/src)。怎么了?

0 投票
4 回答
37408 浏览

css - 如何将全局样式添加到 Angular 6/7 库

我试图以与 Angular 应用程序相同的方式添加全局样式,但它完全不起作用。

我的库的名称是example-lib,所以我添加styles.css/projects/example-lib/. angular.json我在主文件中添加了样式:

但是当我尝试使用命令构建库时:

ng build example-lib

我收到错误:

我想这是在单独的库中添加全局样式的另一种方法。任何人都可以帮助我吗?

0 投票
3 回答
2940 浏览

angular - Angular 6 库管道

如何在 Angular 6 库中添加自定义管道以使其在我的主应用程序中可用?目前我正在这样做:lib.module.ts:

在 public_api.ts 中:

在 app.module.ts 中:

我正在尝试使用管道,{{ 'something' | some}}但未调用transform方法。SomePipe

0 投票
1 回答
2420 浏览

model - Angular 库无法导出类 - Angular6

我创建了一个新的 Angular 6 库。该库有一个名为 User 的模型:

我在另一个角度应用程序中使用该库,一切正常。但是当我尝试使用该模型时:

我收到此错误:

智能感知找到了它,但我仍然收到此错误。

应用模块:

有人有想法吗?谢谢!

0 投票
1 回答
212 浏览

angular - Angular - 在库中使用应用程序主题

我正在编写一个 Angular 库。我想在我的库中使用应用程序主题的原色。我无权访问theme.scss文件,因此无法在我的组件样式文件中导入它。我怎样才能做到这一点?

谢谢

0 投票
0 回答
1889 浏览

angular - 自动安装 Angular 库的依赖项

我们正在开发一个共享的小部件库@acme/widget-collection,它是内部作为单独模块开发的所有小部件的集合 -@acme/widget1等等@acme/widget2

这应该允许需要使用小部件的开发人员简单地导入@acme/widget-collection而不需要单独导入所有小部件。

所以库命名为@acme/widget-collectionimports @acme/widget1,当然@acme/widget2@acme/widget3然后导出它们,以便在导入时可用@acme/widget-collection

在共享库中,我们将所有小部件定义peerDependenciespackage.json.

@acme/widgets-collection库导入项目后,在运行或构建项目时,我们收到以下错误 - error TS2307: Cannot find module @acme/widget1

如果我们手动安装依赖项,即npm i @acme/widget1 @acme/widget2 @acme/widget3它可以正常工作。

但是,我们试图避免手动安装所有依赖项,@acme/widget-collections因为这些依赖项不断变化,我们希望 npm 自动安装它们。

运行npm i @acme/widget-collection似乎没有安装它们。

是否有安装依赖项的 npm 本机方式?

如果没有,是否应该直接将它们安装ng-packagr@acme/widget-collection/node_modules文件夹中?

更新

将依赖项输入为“依赖项”而不是“peerDependencies”似乎会在运行时自动安装它们,npm i @acme/widget-collection但我不确定这是否是推荐的方式,因为我见过的大多数角度示例都使用peerDependencies. 这似乎有效:

并运行npm inpm i @acme/widget-collection将安装@acme/widget1@acme/widget2@acme/widget3node_modules文件夹中。

0 投票
1 回答
852 浏览

angular - 如何在 bitbucket 中发布角度库

我通过运行创建了一个 Angular 库:

这将创建一个 Angular 应用程序,并在其中创建一个名为“projects”的文件夹,其中包含库代码:

申请代码:

所以有了这个结构,我不知道如何在 Bitbucket 中发布库以供其他应用程序以这种方式使用:

包.json:

我按照教程创建了库,并且可以在容器应用程序中使用它。我还通过安装创建的 .tgz 设法在其他应用程序中使用它:

最后一步是发布它并标记它以供使用。