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 相关文章推荐
jquery实现点击文字可编辑并修改保存至数据库
Apr 15 Javascript
c#+jquery实现获取radio和checkbox的值
Sep 12 Javascript
Javascript实现禁止输入中文或英文的例子
Dec 09 Javascript
Javascript实现鼠标右键特色菜单
Aug 04 Javascript
JavaScript递归操作实例浅析
Oct 31 Javascript
JS设置时间无效问题的解决办法
Feb 18 Javascript
荐书|您有一份JavaScript书单待签收
Jul 21 Javascript
利用jqgrid实现上移下移单元格功能
Nov 07 Javascript
vue中的mvvm模式讲解
Jan 31 Javascript
小程序自定义单页面、全局导航栏的实现代码
Mar 15 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
Sep 06 Javascript
Vue Router 实现动态路由和常见问题及解决方法
Mar 06 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
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
require(),include(),require_once()和include_once()的异同
2007/01/02 PHP
PHP中设置时区方法小结
2012/06/03 PHP
ThinkPHP之R方法实例详解
2014/06/20 PHP
PHP中使用Memache作为进程锁的操作类分享
2015/03/30 PHP
php获取微信基础接口凭证Access_token
2018/08/23 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
JavaScript基本编码模式小结
2012/05/23 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
基于javascript如何传递特殊字符
2015/11/30 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
2015/12/13 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
[55:45]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第一局
2016/02/28 DOTA
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
python数据结构之二叉树的建立实例
2014/04/29 Python
由Python运算π的值深入Python中科学计算的实现
2015/04/17 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
2018/04/19 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
opencv python统计及绘制直方图的方法
2019/01/21 Python
Python list运算操作代码实例解析
2020/01/20 Python
放飞蜻蜓反思
2014/02/05 职场文书
财务学生的职业生涯发展
2014/02/11 职场文书
幼儿园教研活动总结
2014/04/30 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
2015年社区反邪教工作总结
2015/10/14 职场文书
教你怎么用python实现字符串转日期
2021/05/24 Python
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL