Angular 开发NPM第三方包
步骤:
创建第三方包 》 开发第三方包 》 测试第三方包 》 发布第三方包 》 使用第三方包
实例:
第一步:创建第三方包;; (创建项目,项目下创建第三方库)
1. 新建项目
ng new zerolibrary
2. 创建第三方库
// 目录切换至新创建的项目
cd zerolibrary
// 创建第三方库 (--prefix: 前缀;在用命令行新建组件/指令时,selector的属性值的前缀)
ng g library zero --prefix zm
=== >目录结构 (多了projects目录)
第二步:开发第三方包;;(在第三方库中新建组件、模块)
1. 第三方库中新建button组件
// 切换至第三方库创建组件的位置
cd projects/zero/src/lib
// 新建组件
ng g c button
====> 目录结构
2. 第三方库的模块中导出新建组件,可供外部模块使用
// zero.module.ts
exports: [ButtonComponent]
第三步:测试第三方包;;;(本地测试第三方包中模块、组件是否可用)
1. app.module.ts中导入第三方包的模块文件
// 配置app.module.ts
imports: [ZeroModule]
2. app.component.html中使用第三方包的ButtonComponent组件
<zm-buttom></zm-button>
3. 浏览器访问localhost:4201
第四步:发布第三方包;;;(npm测试无问题,发布)
1. 构建npm包
// 切换至第三方包根目录下
cd projects/zero
// 构建
ng build zero
====>目录结构 (多了dist目录)
2. 发布至npm官网
// 需要登录(npm login),有自己的npm账号
npm publish
第五步:使用第三方包;;;(别的项目使用自己新建发布的NPM包)
1. 项目中安装
npm install zero@latest --save
2. 在需要使用NPM包的模块中引入NPM包模块
imports: [ZeroModule]
3. 在组件中使用即可
<zm-button></zm-buttom>
发布过程中的问题:
npm ERR! publish Failed PUT 403
原因一: 当前电脑所使用的npm源未在npm官网上
解决: nrm use npm ,然后再publish
原因二: 该npm包已经在共有npm网站上存在了
解决:更改package.json文件中的“name”值,然后再publish
Angular 开发NPM第三方包的更多相关文章
- 十二、Nodejs 包与 NPM 第三方模块安装 package.json 以及 CNPM
1. 包 Nodejs 中除了它自己提供的核心模块外,我们可以自定义模块,也可以使用第三方的模块.Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依赖关系的模块进行统一管理. 在 Nod ...
- node.js开发 npm包管理工具 npm 和 cnpm区别
npm 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用. 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用 np ...
- 开发发布npm module包
开发发布npm module包 问题 在项目开发过程中,每当进入一个新的业务项目,从零开始搭建一套前端项目结构是一件让人头疼的事情,就要重新复制一个上一个项目的前端框架和组件代码库.其中很多功能的模块 ...
- Nodejs 包与 npm第三方模块安装和 package.json 以及 cnpm
包与 NPM 1. 包 Nodejs 中除了它自己提供的核心模块外,可以自定义模块,也可以使用第三方的模块.Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依 赖关系的模块进行统一管理. ...
- Angular开发实践(一):环境准备及框架搭建
引言 在工作中引入Angular框架将近一年了,在这一年中不断的踩坑和填坑,当然也学习和积累了很多的知识,包括MVVM框架.前后端分离.前端工程化.SPA优化等等.因此想通过Angular开发实践这系 ...
- Angular 开发环境搭建
Angular 是一款开源 JavaScript 框架,由Google 维护,用来协助单一页面应用程序运行的.它的目标是增强基于浏览器的应用,使开发和测试变得更加容易.目前最新的 Angular 版本 ...
- node_第三方包下载文件package.jon详解
配置原因第三方包的体积过大,不方便团队成员之间共享项目源代码共享时剔除node_modules 快速创建 package.json(只能在英文的目录下成功运行) npm init -y npm i 一 ...
- Android Studio系列教程五--Gradle命令详解与导入第三方包
Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...
- Visual Studio Code作为Angular开发工具常用插件安装、json-server安装与使用、angular/cli安装失败问题
前提准备: 搭建好Angular开发环境 1 安装Visual Studio Code 教程简单,不会的去问度娘 2 安装Chrome浏览器 教程简单,不会的趣闻度娘 3 Visual Studio ...
随机推荐
- 🕸捕获与改写HTTPS请求
前言 本文站在 macOS 用户的角度下,分享一下对 HTTPS 进行请求拦截.对响应进行修改的经验. 要注意的是,本文介绍的工具虽然一定程度上对 Windows 用户也适用 ,但并非所有工具都是免费 ...
- [转]Linux系统结构
Linux系统一般有4个主要部分:内核.shell.文件系统.应用程序. 内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统. 1.linux内核 内 ...
- selenium webdriver (python)第三版.pdf
转载自:http://download.csdn.net/detail/waiwaijsj/7214035 是原作者根据自己的经验整理的,很实用.
- Atcoder C - Nuske vs Phantom Thnook(递推+思维)
题目链接:http://agc015.contest.atcoder.jp/tasks/agc015_c 题意:给一个n*m的格,蓝色的组成路径保证不成环,q个询问,计算指定矩形区域内蓝色连通块的个数 ...
- Unity3D 客户端编程
Photon Server 和 Unity3D 数据交互: Photon Server 服务端编程 Unity3D 客户端编程. VS2017 之 MYSQL实体数据模 1:打开unity新建新项目, ...
- selenium爬虫
Web自动化测试工具,可运行在浏览器,根据指令操作浏览器,只是工具,必须与第三方浏览器结合使用,相比于之前学的爬虫只是慢了一点而已.而且这种方法爬取的东西不用在意时候ajax动态加载等反爬机制.因此找 ...
- JS-DOM ~ 02. 隐藏二维码、锁定、获取输入框焦点、for循环为文本赋值、筛选条件、全选和反选、属性的方法操作、节点的层次结构、nodeType
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- git 生成密钥
1.本地安装好git: 2.桌面右键 Git Bash Here 打开git命令行: 3.ssh-keygen -t rsa -C "nideyouxiang@xxx.com" ...
- Docker的优缺点
Docker解决的问题 由于不同的机器有不同的操作系统,以及不同的库和组件,将一个应用程序部署到多台机器上需要进行大量的环境配置操作.(例如经常出现的类似"在我的机器上就没问题"这 ...
- android 解决 多品牌手机拍照问题,尤其是小米手机
先上个图吧 .点击头像弹出下面对话框,然后直接上代码. 头像是自定义控件实现的圆形头像,当然就目前而言 想要实现 圆形头像的资料太多了,随便找个就行 <com.kuibu.jucai.widge ...