原始碼壓縮原理?

https://www.snapchat.com/l/en...

假設這個網站好了
你右鍵>原始代碼,可以看到他很多 html, js等等都會進行壓縮
只是這個原理是什麼?
假設其中有東西需要修改刪除,這他們要怎麼還原?
我只是原本想要壓縮,但是突然想到萬一要還原修改呢?
修改完再繼續壓縮再上傳?是這個原理嗎?

阅读 1.7k
3 个回答

这种压缩是基于html是标签括起来就可以的,不需要分行,甚至所有内容可以写在一行中。
js代码也有;{}来定义代码块和主动分行(每个;间是一行代码),此外再利用变量名替换等等就可以减少内容中无关的空格、换行等内容实现内容的压缩,甚至还可以利用文本压缩算法,在执行具体内容前进行一次解压动态加载(由浏览器加载代码时自动执行)。
这样的技术可以满足建设网络流量,加快传输等等效果,在一定程度上还可以加密(比如加入混淆处理)。
这些代码的开发是一套体系,完成后会通过专门的工具自动进行压缩后部署。
可以参考https://blog.csdn.net/yanghaonan7758/article/details/71077411

主要功能有:

1. 压缩体积。比如改成短命名变量、去除空格等。
2. 代码优化。比如`undefined`改`void 0`,去除未使用的变量声明。
3. 混淆。
4. 其他。比如可能会合并小文件等等。
 
修改完再繼續壓縮再上傳?是這個原理嗎?

是这样的,修改不是问题,如果是调试的话需要Source Map,不过一般都带。

多份代码,开发环境与生产环境使用不同的代码,
修改是修改原始代码 -> 打包、压缩 ->上生产
有东西需要修改、删除,变更的是原始代码 -> 打包、压缩 这是两份 互不影响

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题