非script标签的形式引入JQuery。

安装JQuery:

先安装加载器expose-loader,用于将插件暴露到全局中供其他模块使用:

npm i expose-loader --save

安装JQuery:

npm install jquery --save

以上两个模块也是项目发布依赖的模块,因此安装参数选择--save。

如何使用:

1.第一种方法:在打包入口文件中直接require并用expose-loader暴露$到全局

打包入口文件./src/index.js中引入JQuery:

require("expose-loader?$!jquery");

在html文件中引入测试是否全局可用./dist/index.html:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Document</title><script type="text/javascript" src="main.js"></script>
</head><body><script>$(function() {console.log($("body"));})</script>
</body></html>

打包会自动在./dist目录下生成main.js

浏览器打开./dist/index.html文件在控制台得到输出结果。

注:如果在js文件中直接使用var $ = require("jquery");引入$无法暴露到全局,只能在当前js文件中使用。

2.第二种方法:在打包入口文件引入JQuery,在配置文件中暴露到全局

项目根目录创建配置文件./conf/webpack.dev.js:

const path = require("path");
module.exports = {mode: "development", //打包为开发模式entry: "./src/index", //入口文件output: { //输出路径和文件名,使用path模块resolve方法将输出路径解析为绝对路径path: path.resolve(__dirname, "../dist"),filename: "main.js"},module: {rules: [//暴露$和jQuery到全局{test: require.resolve('jquery'), //require.resolve 用来获取模块的绝对路径use: [{loader: 'expose-loader',options: 'jQuery'}, {loader: 'expose-loader',options: '$'}]}]}
}

入口文件中./src/index.js引入jquery:

require("jquery");

测试文件./dist/html内容不变,打包:

以上两种引入方式得到的效果一样,第一种引入方式更加简单

webpack4引入JQuery的两种方法相关推荐

  1. HTML引入JS的两种方法

    1.HTML引入JS的两种方法: 引入js的第一种方法 <!DOCTYPE html> <html lang="en"> <head>      ...

  2. python字符串成熟编码_python字符串转公式两种方法获取网页编码python版

    在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能.我喜欢用python实现,因为python提供了很多成熟的模块,可以很方便的实现网页抓取. 但是在抓取过程中会遇到编码的问题 ...

  3. jquery生成二维码怎么添加图片(两种方法)

    github项目地址: https://github.com/fengliting/erweima 注意:这里实现的是第一个方法 自动生成二维码里面添加图片,有两种方法,一种是使用jquery原生的二 ...

  4. 单击触发jquery.autocomplete的两种方法

    jquery.autocomplete的参数 minChars设置为0时,默认要双击才会触发jquery.autocomplete,如果想要单击触发的话,得进行一定的处理才行.下面讲下我知道的单击触发 ...

  5. php ajax jquery 表单重复提交,jQuery的 $.ajax防止重复提交的两种方法(推荐)

    下面给大家带来两种关于jquery 的ajax防止重复提交的解决方法,具体介绍如下所示: 1.第一种,对于onclick事件触发的的ajax 可以采用如下方法: 即在beforeSend中使点击按钮不 ...

  6. Vue项目引入icon图标的两种方法

    我用的是阿里巴巴矢量图标库 ****一,在文件中引入icon项目链接 将图标加入项目后会出一个链接(每新添加图标,此链接都应更新) 在Vue项目中,public/index.html中 将项目链接复制 ...

  7. 在Vue-cli脚手架中引入图片最常用的两种方法

    CommonJS API定义了很多普通应用程序(主要指非浏览器的应用)使用的API,require就说其中之一,我们通常需要在组件中引入图片时,可以在Data里使用这个方法require(" ...

  8. 水平集方法引入主动轮廓模型算法中的两种方法

    水平集方法引入主动轮廓模型算法中的两种方法 1.传统的基于主动轮廓模型和水平集理论的方法 2.变分水平集方法 在讲解水平集理论在主动轮廓模型中的应用前,我们先用流程图说明一下常见的处理主动轮廓模型的流 ...

  9. jQuery的 $.ajax防止重复提交的两种方法(推荐)

    本文给大家分享两种jquery 的ajax防止重复提交的方法,第一种方法对于onclick事件触发的ajax,在beforeSend中使点击按钮不可用,ajax结果返回后置为可用,第二种利用jquer ...

最新文章

  1. First use cursor and initially understand it
  2. 云服务centos搭建jupyter notebook并通过外网访问
  3. CF-241 E.Flights(差分约束)
  4. SpringBootAdmin监控信息讲解
  5. JS 根据子网掩码,网关计算出所有的IP范围
  6. Marketing Cloud launchpad中的meta标签
  7. python实现傅里叶变换求幅值和相位_Python 实现图像快速傅里叶变换和离散余弦变换...
  8. 时间胶囊——给未来的留言板
  9. extjs中元数据_json – 如何配置ExtJS 4 Store(代理和阅读器)来读取元数据
  10. 如何理性看待蚂蚁金服OceanBase刷新TPC-C纪录
  11. 大文件打开工具 PilotEdit
  12. python模块大全_哎呀,不错哦!3步带你用Python打造一款智能语音聊天小软件
  13. [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)
  14. 任意角度旋转图片(python)
  15. Cesium中的Heading/Pitch/Roll
  16. u890安装显示iis服务器,XP纯净版系统下安装用友U8提示iis不符合怎么办
  17. 虚拟化技术概念:什么是虚拟化?虚拟化和云计算的关系详解
  18. 大数据工程师就业前景及发展方向分析
  19. 完美国际真数苹果_苹果手机:Checkm8漏洞永久性破解A5-A11设备 全线旧设备实现完美越狱...
  20. 计算机课程打字教学,打字教程第1课 认识键盘

热门文章

  1. 被称为“中国货运版 Uber”的货车帮,看它如何领跑互联网 + 物流
  2. hdl-graph-slam论文阅读
  3. 嵌入式linux下的FFmpeg交叉编译(最全面)
  4. JS渲染事件有问题集合
  5. 高级JavaScript #ES6(模板字符串,let,箭头函数,forof,参数增强,解构,class,promise)
  6. IntelliJ IDEA如何取消SVN关联
  7. GD32F103Cx中JTAG引脚如何配置为普通IO或复用其他功能
  8. 基于B-S结构的订餐管理系统的设计与实现
  9. iOS音视频播放指南(一)
  10. 码农上海工作2年感悟