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 相关文章推荐
才发现的超链接js导致网页中GIF动画停止的解决方法
Nov 02 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
Apr 12 Javascript
js propertychange和oninput事件
Sep 28 Javascript
jQuery中ajax的load()方法用法实例
Dec 26 Javascript
jQuery使用animate创建动画用法实例
Aug 07 Javascript
JS实现在状态栏显示打字效果完整实例
Nov 02 Javascript
AngularJs入门教程之环境搭建+创建应用示例
Nov 01 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
Dec 14 Javascript
微信小程序 122100版本更新问题解决方案
Dec 22 Javascript
Bootstrap实现提示框和弹出框效果
Jan 11 Javascript
JS实现将二维数组转为json格式字符串操作示例
Jul 12 Javascript
解决vue props 拿不到值的问题
Sep 11 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
PHP目录函数实现创建、读取目录教程实例
2011/01/13 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
Opacity.js
2007/01/22 Javascript
JS加jquery简单实现标签元素的显示或隐藏
2013/09/23 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
Vue表单实例代码
2016/09/05 Javascript
jstree的简单实例
2016/12/01 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
vue数据双向绑定原理解析(get & set)
2017/03/08 Javascript
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
[04:12]第二届DOTA2亚洲邀请赛选手传记-Newbee.Sccc
2017/04/03 DOTA
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
Python中subprocess的简单使用示例
2015/07/28 Python
Python解决N阶台阶走法问题的方法分析
2017/12/28 Python
Pytorch模型转onnx模型实例
2020/01/15 Python
python海龟绘图之画国旗实例代码
2020/11/11 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
银行自荐信范文
2013/10/07 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
2016年习主席讲话学习心得体会
2016/01/20 职场文书
Spring Boot 实现敏感词及特殊字符过滤处理
2021/06/29 Java/Android
JavaScript 定时器详情
2021/11/11 Javascript
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server
Python面试不修改数组找出重复的数字
2022/05/20 Python
zabbix配置nginx监控的实现
2022/05/25 Servers