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. 透视开源生态,OSGraph——GitHub全域数据图谱的智能洞察工具

    "透视开源生态,OSGraph--GitHub全域数据图谱的智能洞察工具 OSGraph (Open Source Graph) 是一个开源图谱关系洞察工具,基于GitHub开源数据全域图谱 ...

  2. SparkSQL on K8s 在网易传媒的落地实践

    作者:鲁成祥 易顺 随着云原生技术的发展和成熟,大数据基础设施积极拥抱云原生是业内发展的一大趋势.网易传媒在 2021 年成功将 SparkSQL 部署到了 K8s 集群,并实现与部分在线业务的混合部 ...

  3. ASP.NET Core 程序集注入(三)

    前言: 在Autofac的使用中,提供了个种注入的API其中GetAssemblies()用着特别的舒坦. 1.core2.0也可以使用Autofac的包,但框架自身也提供了默认的注入Api,ISer ...

  4. 涨见识了!脱离vue项目竟然也可以使用响应式API

    前言 vue3的响应式API大家应该都特别熟悉,比如ref.watch.watchEffect等.平时大家都是在vue-cli或者vite创建的vue项目里面使用的这些响应式API,今天欧阳给大家带来 ...

  5. 胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐

    智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐 Agent是以大模型为核心的智能体,通过与用户对话的形式,来完成各种任务,它很像一个"人".如果和 ...

  6. Hyperledger Fabric 2.x 环境搭建

    一.说明 区块链网络的核心是分布式账本,在这个账本中记录了网络中发生的所有交易信息. Hyperledger Fabric是一个是开源的,企业级的,带权限的分布式账本解决方案的平台.Hyperledg ...

  7. 单细胞转录组上游fasta文件处理

    单细胞分析上游fasta文件处理 --基于cellranger与dropseqRunner ###如果测序文件由10X genomics平台产生,则采用cellranger count的基本流程进行f ...

  8. Vue打包部署到CentOS 7

    项目打包 在项目目录下执行打包目录进行打包 yarn build // 或者 npm run build 打包完成后会生成一个dist文件夹,这样就打包完成了(我这样做了SEO的,所有目录结构有点不一 ...

  9. 【MongoDB】Re03 索引

    MongoDB的索引种类 单属性索引 MongoDB支持在文档的单个字段上创建用户定义的升序/降序索引,称为单字段索引(Single Field Index). 对于单个字段索引和排序操作,索引键的排 ...

  10. 【MySQL】替换件需求

    先上个表结构吧: CREATE TABLE `tm_part_replace` ( `ITEM_ID` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', ...