问题标签 [ng-packagr]

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 回答
464 浏览

ng-packagr - 如何将我的 tsconfig 文件与 ng-packagr 一起使用?

我正在用 ng-packagr 打包一个 Angular 5 库,我需要使用我现有的 tsconfig.json。我已经阅读了这里的文档https://github.com/ng-packagr/ng-packagr/blob/master/docs/override-tsconfig.md它说我需要编写一个脚本(我期待一个选项配置)并通过文件路径传递到我的 tsconfig 文件。

我不明白我在哪里写这段代码?我想这需要一个 NPM 脚本?文档和示例似乎非常少。

对此的帮助将不胜感激。

0 投票
0 回答
50 浏览

angular - @angular/forms 和 ng-packagr

我有一个导入 @angular/forms 模块的角度模块。我使用 ng-packagr 发布,当我导入这个 Angular 模块时出现错误。

通常这个错误是由于没有导入 formsModule 引起的。但是,它是进口的。

有没有人遇到过这个问题或知道是什么原因造成的?

0 投票
1 回答
1917 浏览

angular - 将 polyfill 添加到 Angular 库

在 Angular CLI 项目中是否有办法让库提供 polyfill?在 内angular.json,主应用程序默认配置为"polyfills": "src/polyfills.ts". 此选项不适用于库项目。

我的具体用例是我的库有一个需要 polyfill 的依赖项。如果库无法在将其导入应用程序时自动提供 polyfill,我需要记录并通知库用户自己添加 polyfill。

0 投票
4 回答
17657 浏览

angular - 在项目“my-lib”中找不到配置“生产”

我正在使用 Angular 6.1.0 构建一个库

  • ng new lib-demo
  • ng generate library my-lib

--prod所有文章都建议使用如下标志运行库的构建:

但是,这会引发错误

这可能是正确的,因为当我查看angular.jsonproduction build configuration时,库项目中没有 a 的定义。它仅适用于应用程序项目。

以下是我在使用的库项目的构建配置下拥有的内容ng-packagr

所以这里的问题是--prod标志不再需要并且只是运行ng build m-lib会生成一个产品构建?

查看 dist 文件夹的内容看起来是这样,但我不是 100% 确定。如果有人可以验证这一点,那就太好了。

0 投票
0 回答
174 浏览

angular - ng-packagr 函数调用问题

我使用 ng-packagr 创建了一个 3rd 方组件库。我们已经参考了这篇文章来创建库。

https://medium.com/@nikolasleblanc/building-an-angular-4-component-library-with-the-angular-cli-and-ng-packagr-53b2ade0701e

我们可以在宿主应用程序中导入和渲染组件。但是我们无法在宿主应用程序中调用该库的任何函数。它抛出以下错误 -

//node_modules/xxx.component.d.ts 在 TypeScript 编译中丢失。请通过 'files' 或 'include' 属性确保它在您的 tsconfig 中。

丢失的文件似乎是第三方库的一部分。已发布库中的 TS 文件通常是库打包不良的标志。请在库存储库中打开一个问题以提醒其作者并要求他们使用 Angular 包格式打包库。

有什么方法可以使用 ng-packagr 实现相同的效果吗?

从“库”导入 {sampleComp};

@ViewChild(sampleComp) comp:sampleComp; comp.callFunction();

0 投票
1 回答
123 浏览

angular - Angular ng-packagr 自定义包自动生成的路径问题

我们的项目中有一个自定义库。问题是当我运行命令时,除了函数ng build *package_name*中的路径之外,所有东西(类等)都可以正常构建。

例如,它生成线

export declare const selectState: import ("../../../AppFolder/ClientApp/node_modules/@ngrx/store/src/selector").foobar

当正确的路径是

export declare const selectState: import ("../../AppFolder/ClientApp/node_modules/@ngrx/store/src/selector").foobar

每次构建包后,我都需要在每个路径中删除../,由于对库进行了许多更改,这有点烦人并且需要很多时间。

问题仅存在于此node_modules/@ngrx/store/src/selector

0 投票
1 回答
299 浏览

angular - 使用 ng-packagr 构建库时更改 aot metdata.json 文件生成的目录

我创建了一个 Angular 库。我正在使用 ng-packagr 来构建库。当我使用 ng-packagr 构建库时,它会在 public_api.ts 文件所在的目录中为 AOT 创建 .metada.json。

我们可以将 .metdata.json 生成的目录更改为“dist”文件夹内吗?

ng-package.json

tsconfig.json

0 投票
1 回答
149 浏览

javascript - 角度自定义库的输入路径搞砸了,我在这里做错什么了吗?

所以我建立了我的第一个自定义角度库(在幕后使用 ng-packagr)。不幸的是,我构建的库包含到我的本地机器的相对路径,这显然对其他人不起作用。

我创建了一个示例应用程序来测试自定义库。

mya.animations.ts

因此,在构建时会生成一个名为mya.animations.d.ts的文件。不幸的是,其他任何人都无法解决这些路径。

在我的组件中,我只是通过以下方式导入这些动画

我不确定我在这里做错了什么。非常感谢您的帮助:)

0 投票
0 回答
655 浏览

angular - 找不到模块:错误:无法解析组件。尝试从使用 ng-packagr 制作的包中导入组件时遇到问题

描述 我已经从不同的应用程序中导出了包,并尝试在不同的应用程序中使用该包作为依赖项。尝试从该包中导入组件时出现以下错误。

在 'C:\Users\aditi.malviya\work\xd.ng.starter.demo.app\src\app\core\component-dynamic-loader'

如何重现 index.ts:

public_api.ts:

ng-package.json:

进口声明

0 投票
1 回答
248 浏览

angular5 - 如何使用 ng-packagr 减小包的大小

我正在使用 ng-packagr 为我的角度组件(角度 CLI 项目)生成一个库,我觉得它的大小很大。我们如何使用 ng-packagr 减小包的大小

观察:它正在生成更大的 esm5、esm2015、fesm5、fesm5 文件夹,这些都是真的需要还是一个文件夹就足够了。

我正在使用以下版本

“ng-packagr”:“^3.0.0”,“@angular/core”:“~5.2.9”,

谢谢,斯里尼瓦斯。