1. 首先使用命令创建一个my-worspace工程,然后再进入my-worspace使用命令创建library
ng new my-workspace --no-create-application
cd my-workspace
ng generate library my-lib
执行完后,会生成要给projects文件夹,下面的my-lib/src/lib目录下会有my-lib组件。剩下的就是在my-lib下实现组件业务功能。
2. 若组件下需要 使用图片或者文件,可以在my-lib下创建assets文件夹,然后在ng-package.json下进行配置assets
{
"$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
"dest": "../../dist/vmw-assist",
"assets": ["./assets"],
"lib": {
"entryFile": "src/public-api.ts"
}
}
当然还需要在引用该library的Angular项目下的angular.json文件中配置assets,否则图片不能正常显示。
"assets": [
{
"glob": "**/*",
"input": "./node_modules/my-lib/assets",
"output": "/assets/"
}
],
3.功能完成后,需要通过ng build my-lib进行编译,编译后会在dist目录下生成my-lib目录,就是最终的angular library.
可以在packge.json修改library的name和version。
然后可以在dist/my-lib目录下执行npm publish进行发布。
参考文档