html引入第三方库,基于webpack实现多html页面开发框架七 引入第三方库如jquery

一、解决什么问题

1、如何引入第三方库,如jquery等

二、引入jquery方法

1、下载jquery.min.js放到assets/lib下面

2、安装copy-webpack-plugin,将已经存在的单个文件或整个目录复制到构建目录。命令:npm install copy-webpack-plugin --save-dev

3、在webpack.config.js进行配置,打包的时候把lib目录拷贝到构件目录,配置如下:

1 //拷贝不进行打包的第三方库

2 newcopyWebpackPlugin([{3 from: path.resolve(__dirname, "../src/assets/lib"),4 to: './assets/lib',5 ignore: ['.*']6 }]),

4、引入jquery.min.js

在html页面底部,body结束标签里面引入,因为htmlWebpackPlugin的配置属性inject设置了打包的文件

放入到body元素的底部。

如果放到body结束标签下面会发生什么情况,如下:

db4bb016d6b675a259f71c38df7f0517.png

为什么会这样,看js加载顺序:

821810e3cbbda17815db63d04e6d4419.png

我们在index.js引用了jquery,这时jquery还没有引入,自然就未定义哈。

当把jquery引用放到body结束标签里面,效果如下:

bb6df5f2233c765c2eeeaaa3ca18cdef.png

jquery会优先被引入,也就不会出现这个问题了,这样我们就可以愉快的使用jquery了。

5、externals使用

externals:防止将某些 import 的包(package)打包到 bundle 中,而是在运行时(runtime)再去从外部获取这些扩展依赖(external dependencies)

在webpack.config.js增加配置

externals: {

jquery: 'window.jQuery'

}

表示:当require的参数是jquery的时候,使用winow.jQuery这个全局变量引用它,这种最简洁的externals配置方式为默认的global模式,就是在window上挂一个全局变量,然后直接可以使用这个变量

在js文件中引用

import $ from "jquery"或const $ = require("jquery");这两种方式都可以,es6的import和cmd的方式都可以,引用就可以正常使用了

6、注意

1、不在

externals里面进行配置,不在js文件中引入,jquery也可以正常使用,因为在index.html通过script引用了jquery,浏览器加载时已经把jquery挂载到了window

2、自定义一个js文件,挂到window上,在index.html通过script引用后就可使用

3、externals是决定的是以哪种模式去加载所引入的额外的包,支持:global、commonjs、commonjs2、amd,具体请看

4、第三方库互相依赖的问题,在.html文件中调整引用顺序即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值