話很少說直入主題,最多見的有三種方式來引用第三方插件,下面以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文件夾外面的文件,不會自動檢測和編譯,而第三種方式能檢測到。