当前位置: 首页 > news >正文

【Angular18】封装自定义组件

1. 准备组件

在这里插入图片描述

2. 创建打包文件夹及部分配置文件

在这里插入图片描述

  1. 创建 文件夹app-legalentities-root
  2. 拷贝组件源文件到新的文件夹app-legalentities中
  3. 创建文件 .npmrc
registry=发布地址always-auth=true
  1. 创建文件 ng-package.json
{"$schema": "./node_modules/ng-packagr/ng-package.schema.json","lib": {"entryFile": "public_api.ts"}}
  1. 创建文件 package.json
{"name": "xxx-xx-test","version": "0.0.9","scripts": {"ng": "ng","test": "ng test","packagr": "ng-packagr -p ng-package.json"},"private": true,"dependencies": {"@angular/animations": "^18.0.0","@angular/common": "^18.0.0","@angular/compiler": "^18.0.0","@angular/core": "^18.0.0","@angular/router": "^18.0.0","ng-zorro-antd": "^18.0.1","raise-ssh-test": "file:","rxjs": "~7.8.0","tslib": "^2.3.0","zone.js": "~0.14.3"},"devDependencies": {"@angular/animations": "^18.0.0","@angular/common": "^18.0.0","@angular/compiler": "^18.0.0","@angular/core": "^18.0.0","@angular/router": "^18.0.0","rxjs": "~7.8.0","tslib": "^2.3.0","zone.js": "~0.14.3"}
}
  • 创建文件 public_api.ts
export * from './app-legalentities/app-legalentities.component';
export * from './app-legalentities/app-legalentities.service';

3. 修改配置文件

  • 修改 public_api.ts,以下内容为导出的模块、service、modal等
export * from './app-legalentities/app-legalentities.component';
export * from './app-legalentities/app-legalentities.service';
  • 修改 package.json
"name": "app-legalentities-root", // 当前组件打包文件夹名称"version": "0.0.1", // 当前组件版本,每次发布后,下次发布前版本号+1"scripts": {...},"dependencies": {"@angular/animations": "^18.0.0", // 公共"@angular/common": "^18.0.0", //公共"@angular/compiler": "^18.0.0", //公共"@angular/core": "^18.0.0", //公共"@angular/router": "^18.0.0", //公共"ng-zorro-antd": "^18.0.1", // 当前组件依赖包"rxjs": "~7.8.0", //公共"tslib": "^2.3.0", //公共"zone.js": "~0.14.3" //公共},

4. down依赖包和安装打包指令

  1. 使用npm i 安装包
    在这里插入图片描述
  2. 执行 npm i ng-packagr //安装打包命令
npm i ng-packagr
  1. 配置 package.json 文件,删除 dependencies 和 devDependencies中的内容
{"name": "app-legalentities-root", `// 修改打包的名字`"version": "0.0.2",  `// 版本号 +1`"scripts": {"ng": "ng","test": "ng test","packagr": "ng-packagr -p ng-package.json"  `//配置打包命令`},"private": false // 这个要修改为false,下面的图忘记改了
}

在这里插入图片描述

5. 打包开始-生成dist文件

  1. 执行 npm run packagr 生成dist文件
npm run packagr
  1. 进入dist 文件目录-执行 `npm pack 生成一个压缩文件
npm pack

6. 安装vsts-npm-auth和配置

  1. 在app-legalentities-root文件夹下 安装 vsts-npm-auth
npm install -g vsts-npm-auth --registry https://registry.npmjs.com --always-auth false
  1. 在dist根目录下创建文件.npmrc,内容同2.3
  2. 在dist文件夹中配置vsts-npm-auth
vsts-npm-auth -config .npmrc

7. 发布打包文件

执行指令 npm publish

npm publish

8. 引入自定义组件

  1. 在使用组件的根目录下,即跟package.json同级创建文件.npmrc,内容同2.3
    在这里插入图片描述

  2. 安装组件 npm i app-country-select@0.0.1

npm i app-country-select@0.0.1

遇到的问题

  1. ‘npm run packagr’ 打包报错了
    解决方案:将 angular框架的 app-legalentities-root文件夹移到单独的位置,首先删除已经安装好的依赖包,然后执行第四步
    在这里插入图片描述
http://www.lryc.cn/news/425483.html

相关文章:

  • 【流媒体】RTMPDump—RTMP_ConnectStream(创建流连接)
  • MySQL学习3之锁机制
  • 2004-2023年上市公司过度负债数据(含原始数据+计算结果)
  • [机器学习]--KNN算法(K邻近算法)
  • 跨平台控制神器Escrcpy,您的智能生活助手
  • AR 眼镜之-开关机定制-实现方案
  • 论文阅读-Transformer Layers as Painters
  • 【STL】vector模拟实现
  • 静态成员static关键字
  • 本地项目git同步到线上
  • Allegro如何导入DXF结构文件并生成板框(1)?
  • Word密码忘记怎么办?三个密码找回工具帮你轻松找回密码
  • 使用 ABP 框架 (ASP.NET Boilerplate Project) 创建一个带有迁移功能的示例
  • WPF图表控件库
  • JAVA-WEB资源配置
  • 分享一个基于微信小程序的宠物服务中心的设计与实现(源码、调试、LW、开题、PPT)
  • 时空自回归模型(STAR)及 Stata 具体操作步骤
  • SpringCloud集成XXL-JOB定时任务
  • 《财经网》揭秘格行销量第一的秘籍!年销百万台,获千万级网红推荐!
  • Java 中 Integer 类的比较行为
  • C# 通过反射(Reflection)调用不同名泛型方法
  • Spring Boot整合Drools入门:实现订单积分规则
  • 【C语言】文件操作函数详解
  • Java 垃圾回收,看一遍就懂
  • 手把手教你CNVD漏洞挖掘 + 资产收集
  • 华为云低代码AstroZero技巧教学1:表格的超链接赋能
  • https握手过程详解
  • Lesson 63 Thank you, doctor
  • 使用python和matlab实现BP神经网络算法的分析比较
  • 智慧卫生间环境传感器有哪些?智慧卫生间的特点@卓振思众