问题标签 [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.
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 脚本?文档和示例似乎非常少。
对此的帮助将不胜感激。
angular - @angular/forms 和 ng-packagr
我有一个导入 @angular/forms 模块的角度模块。我使用 ng-packagr 发布,当我导入这个 Angular 模块时出现错误。
通常这个错误是由于没有导入 formsModule 引起的。但是,它是进口的。
有没有人遇到过这个问题或知道是什么原因造成的?
angular - 将 polyfill 添加到 Angular 库
在 Angular CLI 项目中是否有办法让库提供 polyfill?在 内angular.json
,主应用程序默认配置为"polyfills": "src/polyfills.ts"
. 此选项不适用于库项目。
我的具体用例是我的库有一个需要 polyfill 的依赖项。如果库无法在将其导入应用程序时自动提供 polyfill,我需要记录并通知库用户自己添加 polyfill。
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% 确定。如果有人可以验证这一点,那就太好了。
angular - ng-packagr 函数调用问题
我使用 ng-packagr 创建了一个 3rd 方组件库。我们已经参考了这篇文章来创建库。
我们可以在宿主应用程序中导入和渲染组件。但是我们无法在宿主应用程序中调用该库的任何函数。它抛出以下错误 -
//node_modules/xxx.component.d.ts 在 TypeScript 编译中丢失。请通过 'files' 或 'include' 属性确保它在您的 tsconfig 中。
丢失的文件似乎是第三方库的一部分。已发布库中的 TS 文件通常是库打包不良的标志。请在库存储库中打开一个问题以提醒其作者并要求他们使用 Angular 包格式打包库。
有什么方法可以使用 ng-packagr 实现相同的效果吗?
从“库”导入 {sampleComp};
@ViewChild(sampleComp) comp:sampleComp; comp.callFunction();
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
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
javascript - 角度自定义库的输入路径搞砸了,我在这里做错什么了吗?
所以我建立了我的第一个自定义角度库(在幕后使用 ng-packagr)。不幸的是,我构建的库包含到我的本地机器的相对路径,这显然对其他人不起作用。
我创建了一个示例应用程序来测试自定义库。
mya.animations.ts
因此,在构建时会生成一个名为mya.animations.d.ts的文件。不幸的是,其他任何人都无法解决这些路径。
在我的组件中,我只是通过以下方式导入这些动画
我不确定我在这里做错了什么。非常感谢您的帮助:)
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:
进口声明:
angular5 - 如何使用 ng-packagr 减小包的大小
我正在使用 ng-packagr 为我的角度组件(角度 CLI 项目)生成一个库,我觉得它的大小很大。我们如何使用 ng-packagr 减小包的大小
观察:它正在生成更大的 esm5、esm2015、fesm5、fesm5 文件夹,这些都是真的需要还是一个文件夹就足够了。
我正在使用以下版本
“ng-packagr”:“^3.0.0”,“@angular/core”:“~5.2.9”,
谢谢,斯里尼瓦斯。