创建并发布一个Angular组件库

本文详细介绍了如何创建并发布一个Angular组件库,包括创建组件库、开发按钮组件、测试组件以及发布到私有npm仓库和公共npm库。通过实例展示了如何打包、配置路径、导入和使用组件。

创建并发布一个Angular组件库

随着公司业务的不断发展,不同产品或团队之间公用的组件越来越多,这时候就需要一套支持内部使用的组件库。本文将会介绍如何创建并发布一个Angular组件库。

创建组件库

  • 首先我们来创建一个Angular项目,用来管理组件的展示和发布。用以下命令来生成一个cindylib的项目。
    ng new cindylib --createApplication=false
    
  • 项目初始化完成后,进入到项目下,然后创建一个组件库cindy。
    cd cindylib
    ng generate library cindy
    
  • 现在我们需要创建一个项目来测试cindy这个组件库。
    ng generate application cindytest
    
  • angular.js文件中可以看到有两个项目。一个是cindy,类型为library,是我们的组件库。一个是cindytest。类型为application,是用来测试组件库的。
    angular.json文件

开发一个按钮组件

  • 组件库cindy的目录结构如下:
    在这里插入图片描述

    1. ng-package.json中配置了cindy组件库打包后的文件路径为dist/cindy,以及组件库的入口文件为public-api.ts。
      {
             
             
        "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
        "dest": "../../dist/cindy",
        "lib": {
             
             
          "entryFile": "src/public-api.ts"
        }
      }
      
    2. public-api.ts用于导出module、组件、service等,是对外暴露的入口。
      /*
       * Public API Surface of cindy
       */
      
      export * from './lib/cindy.service';
      export * from './lib/cindy.component';
      export * from './lib/cindy.module';
      
    3. 我们需要开发的单个组件放在lib目录下。
  • lib目录下面创建一个button的文件夹,并在该文件夹下创建button.component.tsbutton.module.ts文件。

    // button.component.ts
    import {
         
          Component } from '@angular/core';
    
    @Component({
         
         
      selector: 'c
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值