手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2021年09月9日的文章

webpack和laravel-mix的一点笔记

用了laravel之后,做网页好象不用laravel-mix总感觉缺了点什么,毕竟他能够帮你压缩JS和chunk文件。在以前,那得是用第三方库的,比如yahoo的工具等。这当然是后续的事情,但在开发的时候,常规做一个页面,刷新一下,其实也还是挺痛苦的。

直到后来,有了browsersync,嗯,这个插件laravel-mix内置了。如果要用,还是要npm install 一下的。browsersync唯一的问题,就是全量刷新。这个会有点痛苦而且明显页面会刷新一下。

再后来,看到了,还有laravel-mix用的webpack,其实还自带了一个hmr,嗯,看package.json的时候应该有注意到,有一个参数叫hot,运行的命令是mix watch --hot,平时的watch没有--hot参数。于是就想着利用它来折腾一下。

先说一下共同点和不同点

共同点:

1、都需要在页面里引入一个JS文件,不同的是browsersync引用的是自己的client.js,而webpack引用的还是app.js,只是另一个端口的罢了。

2、都是开启了一个新的程序,都利用了websocket,bs默认是3000,还有看UI结构的3001端口,而webpack默认开的是8080(8080,这个默认端口,哼哼,太容易被占用了。。。。。要注意一下)

3、BS和webpack都可以通过webpack.mix.js来修改端口和配置参数,hmr的话,要考虑跨域,bS则不需要,BS通过配置还可以将UI关闭,{ui:false},这样就不会默认开3001端口了,省点资源

不同点

1、browser-sync要npm install安装,webpack是内置的

2、bs默认是更改后直接refresh,而Webpack是看起来的局部刷新。如果是主项目,input框中的内容都不会消失。这个在测试的时候其实也挺重要(如果是子项目,则还是会消失,但页面并没有刷新)

3、命令:bs用yarn watch 就行了,webpack的要用yarn hot (基于laravel-mix的情况下)

----

其实可能还有更多的异同点,但目前对我来说可见的、一下子想起来的其实就这些(后续想到再补上)。