Webpack第三天

Posted coding个人笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Webpack第三天相关的知识,希望对你有一定的参考价值。

我们已经能打包能启动了,现在我们要继续开发。开发的时候我们要一直刷新才能出现,这很浪费时间,而webpack自带了热更新。

 

当然,在做热更新之前,我们需要引入一个插件,我试了,不引人插件实现不了热更新。

npm install html-webpack-plugin -D

这个插件主要是帮我们把js注入到html里面,如果我们不使用这个插件,直接在index里面script引入main.js,是可以运行,但是实现不了热更新,或许可以,只是本人没实现。

 

安装好了之后,直接在插件里面配置:

new HtmlWebpackPlugin({
    template: 'index.html',
}),

这是最简单的配置,更多可以自行百度。

 

安装了这个就可以实现热更新了,当然,仅限js改变的时候热更新。还有就是安装了这个,打包的时候还能帮你把index.html也打包进去,并且帮你引入。

Webpack第三天

 

之前没说,因为我们每次打包都会新生成一个js,所以用hash值,

Webpack第三天


 

5就是五位,默认是20位。

 

其实这时候的热更新还是有问题,你会发现,当你改了js的内容之后,是整个页面刷新。如果引用js文件过多,那每一次刷新对于开发的时候是比较浪费的,所以我们需要在devServer里面配置hot: true,然后在main.js里面配置:

if(module.hot){
    module.hot.accept();
}

这样就能实现改变哪个js就刷新哪个,而不是所有引入的都重新执行一遍,当然,main.js是会一直重新执行的。

 

可以做一下验证:

 


新建两个js,然后main.js里面:

require('./js/test.js')
require('./js/aaa.js')
console.log('测试')
if(module.hot){
    module.hot.accept();
}

import也可以

然后在test.jsaaa.js里面个打印东西,修改aaa.js里面的打印,test.js的打印不会重新执行。


(完)


Coding 个人笔记


以上是关于Webpack第三天的主要内容,如果未能解决你的问题,请参考以下文章

使用 webpack 将多个 ES6 类捆绑到一个文件中,以便在脚本标签中导入

webpack--第三方loader

实例讲解webpack的基本使用第三篇

Webpack 4.X 从入门到精通 - 第三方库

webpack 构建优化思路

在webpack开发中引入第三方插件(vue项目)完善ing...