要使ng-packagr导出私有组件/服务/管道/类,您可以在构建配置文件中进行一些更改。
首先,确保您的私有组件/服务/管道/类已正确导入到需要导出的模块中。例如,假设您有一个名为MyPrivateComponent
的私有组件,它被导入到MyModule
模块中。
接下来,您需要在ng-packagr的构建配置文件(通常是ng-package.json
或ng-package.js
)中添加一些配置项。
lib
部分添加一个whitelistedNonPeerDependencies
数组,以包含您的私有组件/服务/管道/类所在的模块。例如:"lib": {
"entryFile": "public_api.ts",
"whitelistedNonPeerDependencies": [
"path/to/my-module"
]
}
ngPackage
部分的dest
属性中,指定导出的目标文件夹。例如:"dest": "dist/my-library"
ngPackage
部分的cssUrl
属性中,将其设置为inline
. 这将确保将CSS内联到组件文件中,而不是生成单独的CSS文件。例如:"cssUrl": "inline"
完成以上步骤后,运行ng-packagr
命令来构建并导出您的库。例如:
ng-packagr -p ng-package.json
这将在指定的目标文件夹中生成一个打包好的库,其中包含您的私有组件/服务/管道/类。
现在,您可以将这个打包好的库发布到npm或使用其他方式进行使用。
请注意,ng-packagr是一个非常灵活的工具,具有许多其他配置选项,可以根据您的需求进行调整。上述示例仅提供了一个基本的配置参考。
上一篇:Angular库 - 'rootDir'应包含所有源文件。(environment.ts)
下一篇:Angular库 - NullInjectorError: StaticInjectorError(AppModule)[NgClassImpl -> ElementRef]