Angular如何引入第三方库的方法详解


Posted in Javascript onJuly 13, 2017

最近在学习Angular方面的知识,今天学习了Angular中使用第三方的库,分享给大家

如果我们想在Angular中使用第三方的库,比如jquery或bootstrap等,该如果做呢?

首先我们先来看看package.json这个文件,在目录介绍那篇博客中我们已经知道,package.json这个文件列出了项目所使用的第三方依赖包。我们在创建新项目的时候默认会给我们下载一些包,这些是Angular自带的,存放在node_modules目录中。

Angular如何引入第三方库的方法详解

需要注意的是:

package.json中有dependencies对象和devDependencies。

devDependencies 里面的插件只用于开发环境,不用于生产环境,而 dependencies 是需要发布到生产环境的。

Angular如何引入第三方库的方法详解

如果我们想使用jquery的话,我们就需要将jquery包下载到node_modules中,然后引入js文件即可。

添加依赖的方法: npm install name ?save

我们可以通过npm install name ?save这个命令去添加依赖。注意,要在项目的根目录下执行该命令。

例如 npm install jquery ?save

?save 就是将要安装的依赖写到package.json的dependencies 对象中去

?save-dev是将要安装的依赖写到package.json的devDependencies 对象中去

Angular如何引入第三方库的方法详解

可以看到,一开始dependencies中是没有jquery的,通过 npm install jquery ?save命令会自动下载jquery并添加到dependencies中。然后我们会发现node_modules目录中就有jquery的包了。

Angular如何引入第三方库的方法详解

在目录详解那篇博客中我们讲到,.angular-cli.json这个文件是 Angular命令行工具的配置文件。后期可能会去修改它,引一些其他的第三方的包 比如jquery等

那么现在我们就需要去修改angular-cli.json这个文件。

我们在apps这个中可以看到styles数组和scripts数组。

styles中就是我们要引入的css

scripts中就是我们要引入的js

Angular如何引入第三方库的方法详解

引入jquery

首先我们要知道要引入文件的路径。jquery包是放在node_modules目录中的。

Angular如何引入第三方库的方法详解

然后将路径添加到scripts中去即可。
Angular如何引入第三方库的方法详解

这个时候我们还不能直接使用jquery,因为Angular是使用TypeScript语言开发的,而jquery本质是javascript,TypeScript是不能直接使用的。我们需要先安装类型描述文件,让TypeScript认识jquery。

安装类型描述文件

通过命令:npm install @types/name ?save-dev

这里演示的是jquery的类型描述文件的安装:npm install @types/jquery ?save-dev

类型描述文件安装到开发环境即可

Angular如何引入第三方库的方法详解

安装完成后,修改tsconfig.app.json文件,将jquery添加到types数组中。

Angular如何引入第三方库的方法详解

然后,我们就可使用jquery啦!

我们来测试一下。

首先,在模板页面上添加一个按钮

Angular如何引入第三方库的方法详解

然后在控制器中写一个简单的点击按钮弹出文字

Angular如何引入第三方库的方法详解

ok,下面我们来启动项目看看。

Angular如何引入第三方库的方法详解

可以看到,jquery可以正常使用了。

添加其它第三方依赖包的方法也是类似。

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

Javascript 相关文章推荐
用示例说明filter()与find()的用法以及children()与find()的区别分析
Apr 26 Javascript
HTML页面,测试JS对C函数的调用简单实例
Aug 09 Javascript
AngularJs 指令详解及示例代码
Sep 01 Javascript
js编写的treeview使用方法
Nov 11 Javascript
详解微信小程序 相对定位和绝对定位
May 11 Javascript
jQuery简介_动力节点Java学院整理
Jul 04 jQuery
解决easyui日期时间框ie的兼容的问题
Mar 01 Javascript
vue实现图片滚动的示例代码(类似走马灯效果)
Mar 03 Javascript
javascript实现图片轮播代码
Jul 09 Javascript
微信小程序基于高德地图查找位置并显示文字
Oct 30 Javascript
JS实现长图上下滚动效果
Mar 19 Javascript
JS中FileReader类实现文件上传及时预览功能
Mar 27 Javascript
详解如何构建Angular项目目录结构
Jul 13 #Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
Jul 13 #Javascript
JS实现弹出下载对话框及常见文件类型的下载
Jul 13 #Javascript
vue开发调试神器vue-devtools使用详解
Jul 13 #Javascript
基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
Jul 13 #Javascript
浅谈关于axios和session的一些事
Jul 13 #Javascript
详解JS数据类型的值拷贝函数(深拷贝)
Jul 13 #Javascript
You might like
模仿OSO的论坛(四)
2006/10/09 PHP
亲密接触PHP之PHP语法学习笔记1
2006/12/17 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
PHP结合jQuery实现找回密码
2015/07/22 PHP
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
Javascript学习笔记-详解in运算符
2011/09/13 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
jQuery实现自定义checkbox和radio样式
2015/07/13 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
jquery获取所有选中的checkbox实现代码
2016/05/26 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
vue使用echarts图表自适应的几种解决方案
2020/12/04 Vue.js
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
使用python Django做网页
2013/11/04 Python
python中的decorator的作用详解
2018/07/26 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
Pycharm制作搞怪弹窗的实现代码
2021/02/19 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
土木工程毕业生推荐信
2013/10/28 职场文书
招聘与培训专员岗位职责
2014/01/30 职场文书
教师评语大全
2014/04/28 职场文书
公司法人授权委托书范本
2014/09/12 职场文书
有限责任公司股东合作协议书范本
2014/10/30 职场文书
老公婚前保证书
2015/02/28 职场文书
安全教育主题班会教案
2015/08/12 职场文书
详解Vue slot插槽
2021/11/20 Vue.js
把77A收信机改造成收音机
2022/04/05 无线电
青岛市的收音机研制与生产
2022/04/07 无线电
Python中的协程(Coroutine)操作模块(greenlet、gevent)
2022/05/30 Python
html中两种获取标签内的值的方法
2022/06/16 jQuery