Vue中引入第三方JS庫的四種方式
我們以 jQuery 為例,來講解
一、絕對路徑直接引入,全局可用
主入口頁面 index.html 中用 script 標(biāo)簽引入:
<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 標(biāo)簽引入:
<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 標(biāo)簽來引入 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ù)但卻渲染不到頁面上的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
手寫實現(xiàn)vue2下拉菜單dropdown組件實例
這篇文章主要為大家介紹了手寫vue2下拉菜單dropdown組件實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
vue-element換膚所有主題色和基礎(chǔ)色均可實現(xiàn)自主配置
這篇文章主要介紹了vue-element換膚所有主題色和基礎(chǔ)色均可實現(xiàn)自主配置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
vue實現(xiàn)某元素吸頂或固定位置顯示(監(jiān)聽滾動事件)
這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)某元素吸頂或固定位置顯示,監(jiān)聽滾動事件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
Flutter部件內(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-06
vue父組件向子組件(props)傳遞數(shù)據(jù)的方法
這篇文章主要介紹了vue父組件向子組件(props)傳遞數(shù)據(jù)的方法,文中給大家補(bǔ)充介紹了vue父子組件間傳值(props)的實現(xiàn)代碼,需要的朋友可以參考下2018-01-01
vue+elementUI動態(tài)增加表單項并添加驗證的代碼詳解
這篇文章主要介紹了vue+elementUI動態(tài)增加表單項并添加驗證的代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12

