详解如何为你的angular app构建一个第三方库


Posted in Javascript onDecember 07, 2018

Angular 团队 在 angular6 中,使得创建 Angular 第三方库变得更为简单。如果你以前尝试过操作,你会发现其实不是很简单!

那么流程是什么呢?

首页我们构建一个搭建一个简单的环境,环境里面包含一些组件和服务以及一些接口。

创建项目

1.按照官方教程,使用 ng new 命令初始化项目:

ng new lib-demo --prefix ld

在 angular-cli 第6个之后版本。配置文件的方式发生了相当大变化, angular.json 现在代表 angular 工作空间,

详解如何为你的angular app构建一个第三方库

你可以可以使用 ng generate application [my-app-name] 命令添加更多项目

你也可以通过 ng generate 指令创建一个公共库。

ng generate library tvmaze --prefix tm

当然你可以使用简写命令

ng g lib tvmaze --prefix tm

具体参照

使用 generate 在我们 angular.json 中添加一个项目。

详解如何为你的angular app构建一个第三方库

在库中创建一个服务

我们会发现tvmaze有它自己的 package.jsontsconfig.jsontslint.jsonkarma.conf.js ,这样建立是有原因的,因为这个项目独立与主应用建立而成,它本身也有组件、服务、模块。稍后我们添加其他的内容。现在我们添加一些逻辑:

详解如何为你的angular app构建一个第三方库

这里说明下 provideIn: rootangular6 之后的新属性,详情见官网;如果是为了打包优化。

在库中创建一个组件

我们使用 angular-cli 来创建一个组件

# 使用--project 指定创建在那个工程中
ng generate component poster --project=tvmaze

然后这样编辑

详解如何为你的angular app构建一个第三方库

将组件注册到 TvmazeModule 中,并且 exports 中是的外部能够访问,还得添加 CommonModule , HttpClientModule 两个模块。

详解如何为你的angular app构建一个第三方库

构建一下

在我们使用之前,我们先构建一下,我们 ng build 构建,指定项目。

ng build tvmaze

使用库

接下来,我们来使用刚刚构建好的库,一般我们采用第三方库都是使用 import 来导入。

详解如何为你的angular app构建一个第三方库

我们会发现库不存在。因为这种方式,它是从 node_modules 寻找,所以我们要在根目录下 tsconfig.json 添加 paths

详解如何为你的angular app构建一个第三方库

接下来我们在主项目中运用:使用 <tm-poster> 标签,即可完成

详解如何为你的angular app构建一个第三方库

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
些很实用且必用的小脚本代码
Jun 26 Javascript
jQuery 打造动态下滑菜单实现说明
Apr 15 Javascript
表头固定(利用jquery实现原理介绍)
Nov 08 Javascript
纯js实现重发验证码按钮倒数功能
Apr 21 Javascript
关于Vue.js一些问题和思考学习笔记(1)
Dec 02 Javascript
ionic环境配置及问题详解
Jun 27 Javascript
angular框架实现全选与单选chekbox的自定义
Jul 06 Javascript
vue+element项目中过滤输入框特殊字符小结
Aug 07 Javascript
js实现图片3D轮播效果
Sep 21 Javascript
JS数组方法reduce的用法实例分析
Mar 03 Javascript
JS时间戳与日期格式互相转换的简单方法示例
Jan 30 Javascript
vue路由实现登录拦截
Mar 24 Vue.js
JS实现随机生成10个手机号的方法示例
Dec 07 #Javascript
angular学习之动态创建表单的方法
Dec 07 #Javascript
JavaScript栈和队列相关操作与实现方法详解
Dec 07 #Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
Dec 07 #Javascript
vue webpack打包后图片路径错误的完美解决方法
Dec 07 #Javascript
详解在create-react-app使用less与antd按需加载
Dec 06 #Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
Dec 06 #Javascript
You might like
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
PHP按行读取、处理较大CSV文件的代码实例
2014/04/09 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
2015/05/12 PHP
apache和PHP如何整合在一起
2015/10/12 PHP
学习php设计模式 php实现工厂模式(factory)
2015/12/07 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
javascript 处理事件绑定的一些兼容写法
2009/12/24 Javascript
Javascript 高阶函数使用介绍
2015/06/15 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
vue的mixins属性详解
2018/03/14 Javascript
JS获取并处理php数组的方法实例分析
2018/09/04 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
vue实现搜索功能
2019/05/28 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
2020/12/30 Vue.js
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
深入分析python数据挖掘 Json结构分析
2018/04/21 Python
python中for用来遍历range函数的方法
2018/06/08 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
新闻系毕业生推荐信
2013/11/16 职场文书
调解员先进事迹材料
2014/02/07 职场文书
少先队学雷锋活动总结范文
2014/03/09 职场文书
农村婚庆司仪主持词
2014/03/15 职场文书
个人委托书范本
2014/04/02 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
个人专业技术总结
2015/03/05 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
领导欢送会主持词
2015/07/06 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android