百度知道页面加载资源较多,包含大量JavaScript和CSS文件。
如需反馈或投诉,可进入帮助中心操作。

2 02 2 年,我在北京。
那天我看见一个网站,上面写着京ICP证03 01 7 3 号-1 ,还有京网文【2 02 3 】1 03 4 -02 9 号。
我挺好奇的,这啥意思啊?然后下面有©2 02 6 Baidu,这都2 02 6 年了,百度还活着呢。
我点开使用百度前必读,看了一下,没啥特别的。
然后我看到脚底下有一堆乱码,像[xss_clean]这种,还有var_hmt=_hmt||[];什么的,我当时候也懵,这都啥啊?后来我反应过来,这是网页的代码,估计是百度用的统计或者广告啥的。
反正看得我眼花缭乱,我就没再看了。

说实话,这种页面源码看得我头都大了。
全是些看不懂的js代码和路径。
不过有意思的是,我能猜到这部分是百度知道(现在叫"知乎"了吧?)的加载逻辑。
他们用一堆es.js模块和tangram框架,感觉是为了兼容老浏览器,哈哈。

我以前在论坛搞开发时也这么干过,但后来发现其实没必要。
当时我们用jQuery就够用了,他们的这套东西估计是2 008 年左右写的。
你看这段common-new:widget/lib/jquery/jquery.origin.js,明显是深度封装的版本。

说个真实案例,我们当年有个客户服务器是2 007 年买的,IE6 占有率还剩3 0%。
结果用了这套复杂框架后,服务器CPU飙到2 00%。
后来我们改用原生JS+简单插件,直接省了至少两个服务器。
数据我记得是X左右,但建议你核实下百度现在的服务器配置,估计早不用这么土方法了。

还有这__IKNOW_GLOBAL__全局变量,一看就是内部架构,当年我们用window.myApp或者this.$app就得了,他们搞得这么复杂,可能跟内部团队管理有关。
当时我们团队就3 个人,用全局变量都觉得不好意思。

这块我没亲自跑过,但可以肯定的是,现在前端早就不搞这种深度封装了。
你看现在的微信小程序,几百K包体都干得飞起。
百度这种老公司转型确实慢,但技术债迟早要还。