Vue 中如何正确引入第三方模块的方法步骤


Posted in Javascript onMay 05, 2019

方法一:配置 webpack ProvidePlugin 全局引入

假设要使用到 jquery,那么可以通过配置 webpack 的 ProvidePlugin 的插件来全局引入:

https://webpack.js.org/plugins/provide-plugin/

new webpack.ProvidePlugin({
 $: 'jquery',
 jQuery: 'jquery'
})

方法二:包装成插件在 Vue 中调用 use 方法安装

另外一种比较靠谱的方法是将第三方模块打包成插件,如我需要全局使用 echarts,那么在 src 目录下新建一个 lib,并创建名为 echarts.js 的文件:

import echarts from 'echarts'

export default {
 install (Vue) {
  Object.defineProperty(Vue.prototype, '$echarts', {
   value: echarts
  })
 }
}

上述代码 export 一个对象,对象包含一个 install 方法,该方法的参数是 Vue 构造函数,我们使用 Object.defineProperty 或 Reflect 的方法将 $echarts 定义到 Vue.prototype 中去。

然后在项目中使用:

import echarts from './lib/echarts'

Vue.use(echarts) // use

new Vue({
  // ...
}).$mount('#app')

这样就可以在 vue 实例中通过 $echarts 来使用

// ...
let myChart = this.$echarts.init(this.$refs.main)
// ...

其他方法

其他还有在 window 对象中全局定义;或使用 Vue.prototype.xxx = xxx 等,都存在各样问题,如 window 会导致全局作用域污染;后者定义方式不可靠,比方说 echarts 模块太大,会经常出现扩展定义失败导致的报错

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 面向对象继承
Nov 26 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
Jul 13 Javascript
jQuery控制输入框只能输入数值的小例子
Mar 20 Javascript
js实现幻灯片播放图片示例代码
Nov 07 Javascript
html+js实现简单的计算器代码(加减乘除)
Jul 12 Javascript
微信开发 微信授权详解
Oct 21 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
Apr 29 Javascript
VsCode插件整理(小结)
Sep 14 Javascript
H5实现仿flash效果的实现代码
Sep 29 Javascript
vue组件父子间通信之综合练习(聊天室)
Nov 07 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
Apr 11 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
Apr 11 Javascript
详解vue的双向绑定原理及实现
May 05 #Javascript
Vue+Express实现登录注销功能的实例代码
May 05 #Javascript
Vue 递归多级菜单的实例代码
May 05 #Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
May 05 #Javascript
详解Vue调用手机相机和相册以及上传
May 05 #Javascript
原生JS实现动态添加新元素、删除元素方法
May 05 #Javascript
Angular实现svg和png图片下载实现
May 05 #Javascript
You might like
PHP列出MySQL中所有数据库的方法
2015/03/12 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
Javascript new关键字的玄机 以及其它
2010/08/25 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
网页整体变灰白色(兼容各浏览器)实例
2013/04/21 Javascript
jQuery阻止事件冒泡具体实现
2013/10/11 Javascript
javascript读取Xml文件做一个二级联动菜单示例
2014/03/17 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
Jquery ajax 同步阻塞引起的UI线程阻塞问题
2015/11/17 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
Json实现传值到后台代码实例
2020/06/30 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
Python复制目录结构脚本代码分享
2015/03/06 Python
python enumerate函数的使用方法总结
2017/11/15 Python
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
Python 虚拟空间的使用代码详解
2019/06/10 Python
详解pyinstaller生成exe的闪退问题解决方案
2020/06/19 Python
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
几个数据库方面的面试题
2016/07/01 面试题
营销专业应届生求职信
2013/11/26 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
北京申奥口号
2014/06/19 职场文书
机械机修工岗位职责
2014/08/03 职场文书
考试作弊检讨
2015/01/27 职场文书
预备党员考察意见范文
2015/06/01 职场文书
回复函格式及范文
2015/07/14 职场文书
小学生法制教育心得体会
2016/01/14 职场文书
Python内置数据类型中的集合详解
2022/03/18 Python