Vue中引入第三方JS庫的四種方式
我們以 jQuery 為例,來講解
一、絕對路徑直接引入,全局可用
主入口頁面 index.html 中用 script 標簽引入:
<script src="./static/jquery-1.12.4.js"></script>
這樣,其實就已經(jīng)可以在項目中使用 jQuery 了。
mounted () { console.log($) }
可以看到,我們是可以正常打印出 jQuery 的。
由于我的項目開啟了 ESLint 檢測,所以也會報一個 warning[警告] :'$' is not defined 。
我們可以讓 ESLint 不檢查這一行: 加了 /* eslint-disable */ 以后,就不會報那個警告了。 二、絕對路徑直接引入,配置后,import 引入后再使用 第一種方法有一個弊端就是:我們每一個使用了 $ 的地方,都要再前面加上 /* eslint-disable */ ,這顯然是不方便的。
于是,我們有了第二種方法
二、絕對路徑直接引入,配置后,import 引入后再使用
還是先在主入口頁面 index.html 中用 script 標簽引入:
<script src="./static/jquery-1.12.4.js"></script>
然后,我們可以在 webpack 中配置一個 externals
externals: { 'jquery': 'jQuery' }
這樣,我們就可以在每一個組件中用 import 來引用這個 jquery 了。
import $ from 'jquery' export default { created() { console.log($) } }
這樣,我們就可以在每一個組件中用 import 來引用這個 jquery 了。 如果你不想在 inde.html 中使用 script 標簽來引入 jQuery 的話,我們還有方法
三、webpack中配置 alias,import 引入后再使用
我們不需要在主入口文件 index.html 中引入 jQuery 。我們只需要在 webpack 的配置文件中,在 resolve 中為 jQuery 添加一個 alias[別名] 。
resolve: { extensions: ['.js', '.vue', '.json'], alias: { '@': resolve('src'), 'jquery': resolve('static/jquery-1.12.4.js') } }
那么,我們就可以在任意組件中,通過 import 的方式來使用 jquery 了。
<script> import $ from 'jquery' export default { name: 'app', created() { console.log($) } } </script>
控制臺截圖:
四、webpack 中配置 plugins,無需 import 全局可用
在第三種的基礎(chǔ)上,如果我們增加一個 plugins 的配置,那么,我們在使用的時候,無需 import $ from 'jquery'
也可以。
resolve: { extensions: ['.js', '.vue', '.json'], alias: { '@': resolve('src'), 'jquery': resolve('static/jquery-1.12.4.js') } }, plugins: [ new webpack.ProvidePlugin({ $: 'jquery' }) ]
這個時候,我們在項目中,就可以直接使用 $ 了。
<script> export default { name: 'app', created() { /* eslint-disable*/ console.log($) } } </script>
同理,由于我的項目使用了 ESLint ,所以需要在使用了 $ 的代碼前添加 /* eslint-disable*/
來去掉 ESLint 的檢查,否則會報錯:'$' is not define
結(jié)論
第一種和第四種方式使用的時候,不需要 import ,全局直接可用;第二種和第三種方式使用的時候,需要先 import 。
到此這篇關(guān)于Vue中引入第三方JS庫的文章就介紹到這了,更多相關(guān)Vue引入第三方JS庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue 獲取到數(shù)據(jù)但卻渲染不到頁面上的解決方法
這篇文章主要介紹了vue 獲取到數(shù)據(jù)但卻渲染不到頁面上的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11手寫實現(xiàn)vue2下拉菜單dropdown組件實例
這篇文章主要為大家介紹了手寫vue2下拉菜單dropdown組件實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08vue-element換膚所有主題色和基礎(chǔ)色均可實現(xiàn)自主配置
這篇文章主要介紹了vue-element換膚所有主題色和基礎(chǔ)色均可實現(xiàn)自主配置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04vue實現(xiàn)某元素吸頂或固定位置顯示(監(jiān)聽滾動事件)
這篇文章主要為大家詳細介紹了vue實現(xiàn)某元素吸頂或固定位置顯示,監(jiān)聽滾動事件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12Flutter部件內(nèi)部狀態(tài)管理小結(jié)之實現(xiàn)Vue的v-model功能
本文是 Flutter 部件內(nèi)部狀態(tài)管理的小結(jié),從部件的基礎(chǔ)開始,到部件的狀態(tài)管理,并且在過程中實現(xiàn)一個類似 Vue 的 v-model 的功能,感興趣的朋友跟隨小編一起看看吧2019-06-06vue父組件向子組件(props)傳遞數(shù)據(jù)的方法
這篇文章主要介紹了vue父組件向子組件(props)傳遞數(shù)據(jù)的方法,文中給大家補充介紹了vue父子組件間傳值(props)的實現(xiàn)代碼,需要的朋友可以參考下2018-01-01vue+elementUI動態(tài)增加表單項并添加驗證的代碼詳解
這篇文章主要介紹了vue+elementUI動態(tài)增加表單項并添加驗證的代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12