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下对于事件、事件流、事件触发的顺序随便说说
Jul 17 Javascript
from 表单提交返回值用post或者是get方法实现
Aug 21 Javascript
如何学习Javascript入门指导
Nov 01 Javascript
Js操作树节点自动折叠展开的几种方法
May 05 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
Sep 15 Javascript
Javascript中Promise的四种常用方法总结
Jul 14 Javascript
JavaScript判断浏览器和hack滚动条的写法
Jul 23 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
Sep 30 Javascript
vue动态设置img的src路径实例
Sep 18 Javascript
微信小程序自定义组件实现环形进度条
Nov 17 Javascript
微信小程序自定义顶部组件customHeader的示例代码
Jun 03 Javascript
微信小程序canvas动态时钟
Oct 22 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错误信息方法的详解
2013/06/09 PHP
PHP中require和include路径问题详解
2014/12/25 PHP
PHP 中使用explode()函数切割字符串为数组的示例
2017/05/06 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
一些技巧性实用js代码小结
2009/10/14 Javascript
javascript的回调函数应用示例
2014/02/20 Javascript
document.addEventListener使用介绍
2014/03/07 Javascript
JQuery 使用attr方法实现下拉列表选中
2014/10/13 Javascript
JavaScript 随机验证码的生成实例代码
2016/09/22 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
Vue中的Props(不可变状态)
2018/09/29 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
VUE项目实现主题切换的多种方法
2020/11/26 Vue.js
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
Python基于QQ邮箱实现SSL发送
2020/04/26 Python
什么是Python中的顺序表
2020/06/02 Python
基于python实现删除指定文件类型
2020/07/21 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
逃课上网检讨书
2014/02/20 职场文书
厂办主管岗位职责范本
2014/02/28 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
2015国庆节放假通知范文
2015/07/30 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python
Java设计模式之享元模式示例详解
2022/03/03 Java/Android
在Docker容器中部署SQL Server
2022/04/11 Servers