vue+webpack使用ProvidePlugin插件引入jquery

先看一个实例,webpack+vue引入jquery并全局使用,这儿指通过配置,不是在静态页面使用script标签直接引入jquery。

在webpack配置中跟module同级中添加plugins,代码如下:

const webpack = require('webpack')

module.exports = {
context: path.resolve(__dirname, '../'),
// ...其他代码省略
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery'
})
],
// ... 其他代码省略
}

当然要使用jquery,需要npm安装下,即npm i jquery -S

现在你就可以在任意vue页面中不需要import导入jquery就能使用了。

 mounted() {
$('#btn').on('click',function(){
console.log('我调用jquery了')
})
}

可以查看下segmentfault上的一个问题:《vue.js+webpack 中怎么引用并全局使用jquery》,但是回答中是有错误的,不需要在main.js在import导入jquery。

ProvidePlugin配置解析路径

默认情况下,模块解析路径为当前文件夹(./**)node_modules

上面的这种配置就是去node_modules下面找jquery的模块全局引入。

当然还可以配置工程中的路径,也可以指定完整路径:

plugins: [
new webpack.ProvidePlugin({
'utils': path.resolve(path.join(__dirname, '..','src/utils/index.js'))
})
]

我在src/utils/index.js代码中写如下一个方法:

export function sum(a,b) {
return a + b
}

现在我可以在任意实例页面中调用,如下代码:

mounted() {
var result = utils.sum(1,2);
console.log(result) // 3
}

当然我们也可以通过alias属性配置快捷方式,如下代码:

alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
'utils': resolve('src/utils/index.js') // 新增的
}

我们再修改下ProvidePlugin的配置,如下代码:

plugins: [
new webpack.ProvidePlugin({
'utils': 'utils'
})
]

这样也是可以的,然后我们在任意实例页面中调用:

mounted() {
var result = utils.sum(1,2);
console.log(result) // 3
}

参考

webpack系列-webpack内置插件ProvidePlugin的应用(定义全局变量,例如vue引入jquery全局使用)的更多相关文章

  1. maven(19)-生命周期和内置插件

    生命周期和依赖一样,是maven中最重要的核心概念.平时在使用maven时并不一定需要知道生命周期,但是只有明白了生命周期,才能真正理解很多重要的命令和插件配置. default生命周期 defaul ...

  2. 面向对象 反射 和item系列和内置函数和__getattr__和__setattr__

    反射 反射主要用在网络编程中, python面向对象的反射:通过字符串的形式操作对象相关的属性.python的一切事物都是对象. 反射就是通过字符串的形式,导入模块:通过字符串的形式,去模块寻找指定函 ...

  3. Python系列-python内置函数

    abs(x) 返回数字的绝对值,参数可以是整数.也可以是浮点数.如果是复数,则返回它的大小 all(iterable) 对参数中的所有元素进行迭代,如果所有的元素都是True,则返回True,函数等价 ...

  4. vue引入jquery插件

    在vue中使用jquery插件 1.引入jquery 第一种方法:全局引入jquery 在webpack.base.conf.js,新增以下代码 plugins: [ new webpack.opti ...

  5. 小飞侠带你精通Python网络编程系列04-Python内置的数据类型

    在Python中有以下几种标准的内置数据类型: 1.NoneType: The Null object--空对象2.Numerics(数值): int-整数, long-长整数, float-浮点数, ...

  6. 【LESS系列】内置函数说明

    本文转自 http://www.cnblogs.com/zfc2201/p/3493335.html escape(@string); // 通过 URL-encoding 编码字符串 e(@stri ...

  7. Eclipse使用Maven内置插件不需要安装Maven

    首先修改eclipse项目中maven的路径,默认在C盘,修改路径例如 在d盘创建文件夹-D:- |---m2 |--repository |--setting.xml 没有文件夹和文件要自己新建,如 ...

  8. Python3入门系列之-----内置的文件操作模块OS

    前言 在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作,这个时候就需要用到os模块. 使用前 ...

  9. Apache使用内置插件mod_php解析php的配置

    apache安装完毕之后,修改httpd.conf配置文件,添加代码如下: LoadModule php5_module modules/libphp5.so <FilesMatch \.php ...

  10. SQL基础系列(2)-内置函数--转载w3school

    1.    日期函数 Mssql: SELECT GETDATE() 返回当前日期和时间 SELECT DATEPART(yyyy,OrderDate) AS OrderYear, DATEPART( ...

随机推荐

  1. 将传统应用带入浏览器的开源先锋「GitHub 热点速览」

    现代浏览器已经不再是简单的浏览网页的工具,其潜能正在通过技术不断地被挖掘和扩展.得益于 WebAssembly 等技术的出现,让浏览器能够以接近原生的速度执行非 JavaScript 语言编写的程序, ...

  2. Webpack3.x升级至 4.x 小记

    近期项目部署遇到点问题,需要升级webpack版本,特此整理一小记,记录升级过程中的依赖包及报错处理. 本次升级的依赖包及对应版本对照表: npm 包 当前版本 升级版本 S/D vue ^2.5.1 ...

  3. NSSCTF———Web(sql注入)

    [LitCTF 2023]这是什么?SQL !注一下 ! [SWPUCTF 2022 新生赛]ez_sql [GXYCTF 2019]BabySqli 点击右下角文章可跳转 [LitCTF 2023] ...

  4. JMeter 基于脚本实现代码共享

    需求描述 需求是这样的:执行某次压测任务时,压测涉及的前端接口,要求携带一个userName请求头,该请求头值为实际用户名经过DES加密后,再采用Base64加密后的值,为此,编写了一段加密代码,发送 ...

  5. Golang 高性能 Websocket 库 gws 使用与设计(一)

    前言 大家好这里是,白泽,这期分析一下 golang 开源高性能 websocket 库 gws. 视频讲解请关注B站:白泽talk 介绍 gws:https://github.com/lxzan/g ...

  6. windows edge浏览器免费复制网页文字

    复制时,出现上面提示时候 使用edge浏览器打开链接,在http前面加入read: ,然后打开,即可复制 如果用js,可以参考https://www.cnblogs.com/rmticocean/p/ ...

  7. Jenkins+docker 部署SpringCloud微服务

    部署需要提前准备的环境:安装好Jenkins.docker.Maven.Jdk1.8.Git 说明:由于本例只说明如何部署,所以有关项目其他服务如nacos.mysql.redis.seata等默认已 ...

  8. Python学习的个人笔记

    python基础知识 目录: Python基础语法: (1)打印出hello world (2)注释 (3)数据类型 (4)运算 (5)输入 (6)输出 (7)序列 (8)相等比较 (9)选择 (10 ...

  9. 【Project】原生JavaWeb工程 01 概述,搭建

    一.环境准备: 操作系统:Windows7 或者 Windows10 IDE集成环境:IDEA 2018版本或者更高 数据库:MySQL 5版本或者更高 服务器:Tomcat 8版本或者更高 二.数据 ...

  10. (HASEE)神州笔记本 还原手册 —— 笔记本系统还原

    新买了一个笔记本,神州笔记本(HASEE),随机所带的手册,为防止丢失故把内容记录下来. 开机时按:CTRL + H 进入还原界面,点击"系统还原",点击"恢复出厂备份& ...