Vue 中如何正確引入第三方模塊的方法步驟
方法一:配置 webpack ProvidePlugin 全局引入
假設(shè)要使用到 jquery,那么可以通過配置 webpack 的 ProvidePlugin 的插件來全局引入:
https://webpack.js.org/plugins/provide-plugin/
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
})
方法二:包裝成插件在 Vue 中調(diào)用 use 方法安裝
另外一種比較靠譜的方法是將第三方模塊打包成插件,如我需要全局使用 echarts,那么在 src 目錄下新建一個(gè) lib,并創(chuàng)建名為 echarts.js 的文件:
import echarts from 'echarts'
export default {
install (Vue) {
Object.defineProperty(Vue.prototype, '$echarts', {
value: echarts
})
}
}
上述代碼 export 一個(gè)對象,對象包含一個(gè) install 方法,該方法的參數(shù)是 Vue 構(gòu)造函數(shù),我們使用 Object.defineProperty 或 Reflect 的方法將 $echarts 定義到 Vue.prototype 中去。
然后在項(xiàng)目中使用:
import echarts from './lib/echarts'
Vue.use(echarts) // use
new Vue({
// ...
}).$mount('#app')
這樣就可以在 vue 實(shí)例中通過 $echarts 來使用
// ... let myChart = this.$echarts.init(this.$refs.main) // ...
其他方法
其他還有在 window 對象中全局定義;或使用 Vue.prototype.xxx = xxx 等,都存在各樣問題,如 window 會導(dǎo)致全局作用域污染;后者定義方式不可靠,比方說 echarts 模塊太大,會經(jīng)常出現(xiàn)擴(kuò)展定義失敗導(dǎo)致的報(bào)錯(cuò)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解使用VueJS開發(fā)項(xiàng)目中的兼容問題
這篇文章主要介紹了詳解使用VueJS開發(fā)項(xiàng)目中的兼容問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08
Vue3實(shí)現(xiàn)九宮格抽獎(jiǎng)效果的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何通過Vue3實(shí)現(xiàn)簡單的九宮格抽獎(jiǎng)效果,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的可以了解一下2023-10-10
vue 實(shí)現(xiàn)的樹形菜的實(shí)例代碼
這篇文章主要介紹了vue 實(shí)現(xiàn)的樹形菜單,需要的朋友可以參考下2018-03-03
vue源碼學(xué)習(xí)之Object.defineProperty 對數(shù)組監(jiān)聽
這篇文章主要介紹了vue源碼學(xué)習(xí)之Object.defineProperty 對數(shù)組監(jiān)聽,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05
使用element-ui的Pagination分頁的注意事項(xiàng)及說明
這篇文章主要介紹了使用element-ui的Pagination分頁的注意事項(xiàng)及說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
vue調(diào)用微信JSDK 掃一掃,相冊等需要注意的事項(xiàng)
這篇文章主要介紹了vue調(diào)用微信JSDK 掃一掃,相冊等需要注意的事項(xiàng),幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2021-01-01

