话很少说直入主题,最多见的有三种方式来引用第三方插件,下面以jquery插件及基于JQuery的两款插件:nicescroll和rangeSlider为例。javascript
1、第一种方式:在.angular-cli.json文件中配置html
步骤:java
1.在项目根目录.angular-cli.json文件中找到script字段,在数组中添加要引用的全部js文件(注意前后顺序)jquery
"scripts": ["assets/jquery-3.2.1.js","assets/jquery.nicescroll.js","assets/ion.rangeSlider.js"],json
2.在须要用该插件的组件中(.ts文件中)作以下声明:declare var $:any;
目的是不让编译时报错数组
3.接下来在ngOnInit方法中就能正经常使用上面的三款插件了。app
2、第二种方式:在index.html页面上引用插件jquery插件
步骤:ide
1.在根目录的index.html页面中添加以下引用:插件
<script type="text/javascript" src="assets/jquery-3.2.1.js"></script>
<script type="text/javascript" src="assets/jquery.nicescroll.js"></script>
2.在须要用该插件的组件中(.ts文件中)作以下声明:declare var $:any;
目的是不让编译时报错
3.接下来在ngOnInit方法中就能正经常使用上面的三款插件了
3、在具体组件中import 插件
步骤:
1.在须要用到插件的ts文件中添加以下引用:
import "assets/jquery-3.2.1.js";
import "assets/jquery.nicescroll.js";
import "assets/ion.rangeSlider.js";
2.在须要用该插件的组件中(.ts文件中)作以下声明:declare var $:any;
目的是不让编译时报错
3.接下来在ngOnInit方法中就能正经常使用上面的三款插件了
三种方式都介绍完了,下面来讲说须要注意的事情,前两种方式须要重启服务才会有效果(我当时用的ng serve,不重启的话不起做用);第三种方式无需重启服务,直接就能看到效果。
真是吐血的教训,刚开始尝试的前两种方式,怎么着都不成功,最后第三种方式成功了,后来重启了下服务,发现前两种方式也成功了。
不知道为何前两种方式须要重启服务,自我猜想下:也许是前两种都是修改的app文件夹外面的文件,不会自动检测和编译,而第三种方式能检测到。