然后,但凡是上规模的项目,都是动态发布的。一部分一部分的分块、栏目的进行灰度渐进的发布,然后上线之后还有各种意外的发生要进行调试,这就需要各种非覆盖发布的方式。所以不能只从webpack的角度来考虑问题。基本上所有的发布都是局部更新的,没有说,无论多大的网站都像以前那样把所有的文件ftp上传覆盖,不可能的。
前端发布必须要做的可分离,就是前端有自己的服务器、可以进行前端文件的版本配置。例如一个大的网站,随时随地的7*24小时都有人在访问,这种情况下你怎么进行停机发布呢?所以必须要做前端文件的兼容问题处理,一般是用一个中间层来配置网站的入口和管理功能,什么模板啊、页面啊、变量什么的。把打包好的新文件上传到前端专门的cdn上面,这是非覆盖发布,所以要使用版本号进行区分,然后在刚才提到的中间层里把版本号切换过去。这时用户再访问,就是新的文件了,就类似这样,
<a href='//xxx.cdn.com/${abc_ver}/jquery.min.js'>新链接</a>
这个链接,我在下次点击的时候,就是新的资源了。
另外在更新页面的时候,还要注意打包集成的问题。就像刚才说的,你不能整个网站打成一个大包,而是不同的页面、栏目、项目、可复用的部分,分类之后打包。
例如,页面和第三方的东西,你不能都打进网站的包里。肯定要分成业务内容和公共组件库了,然后你再配置webpack来进行相关的引用。这样就把业务和组件分开,免得你更新了某个东西,就得所有人跟着你一起更新的问题。
鉴于前端新人比较多,我给大家录制了一段视频教程,《html、css实现网易考拉-首页》,今天是第6部分,非常适合正在学习html、css的零基础起点的同学,现在推荐给你
点击查看:《我的学生的评论与就业信息》
如果觉得本文对你有用,请帮忙转发,并点赞,谢谢。