现在会用原生 Javascript 写点东西,Vue 粗略地学了一些皮毛,还没学完。经常看到别人网站放的 JS 外链里面,都是很难看懂的 JS 。比如这个。请问这种是用 JS 框架(比如 Vue )写好以后编译成成品的样子?还是说作者故意为了压缩尺寸弄成这个样子?感觉可读性很差
1
natsji 2020-06-07 22:24:44 +08:00 via Android
Chrome 有 js 美化插件,安装一下就行了
|
2
tanranran 2020-06-07 22:29:45 +08:00
|
3
ysc3839 2020-06-07 23:36:52 +08:00
是框架编译后的样子,也是故意压缩尺寸。这些代码只是为了能执行,不是为了给人看的。
|
4
snw 2020-06-07 23:49:41 +08:00
主要为了减小文件大小,顺便降低可读性给仿站稍稍增加难度。
|
5
systemcall 2020-06-08 00:43:19 +08:00 via Android
加了混淆,有那种工具
|
6
sneezry 2020-06-08 02:02:40 +08:00 via iPhone 5
主要是压缩代码,提高加载速度,节省带宽资源。压缩的策略也并不神秘,几个典型的例子:
1 、更换变量名。好的变量名能让代码更容易被人读懂,但变量名叫 priceForSingleItem 还是叫 a 对电脑来说都一样,所以压缩代码时,变量名从 a 到 z 换着用,不够了还有 aa,ab 。 2 、更换代码逻辑表达方式。if 能让代码逻辑更加清晰,比如 if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) { console.log("闰年"); },压缩后就可能变成(!a%4&&a%100||!a%400)&&console.log("闰年"),这两段代码执行结果是一样的。 |
7
em70 2020-06-08 02:20:35 +08:00
故意的
|
8
Doracis 2020-06-08 08:55:31 +08:00
有一些 js 是压缩后的,比如你看的大多数 xxx.min.js 都是这种的,如果你想读一读,建议找 xxx.js, 不是压缩版的通常要大一些,为了加载速度,挂网站上的大多都是压缩后的了
|
9
DOLLOR 2020-06-08 09:06:03 +08:00
这是混淆压缩优化后的代码呀,减小体积,加快速度。给机器执行的东西,要可读性干什么?干嘛要读它?
|
10
wizardoz 2020-06-08 09:43:56 +08:00
1. 保护了源码
2. 节省了带宽 |
11
zzzmh 2020-06-08 09:48:35 +08:00
可读性很差才是正常的,可读性强还得了?爬虫满天飞,盗版遍地走
|
12
sudoy OP |
14
shuangya 2020-06-08 11:33:39 +08:00 via Android
1.压缩体积,减小带宽。
2.混淆代码,一定程度上防止破解。 3.可运行,比如 JSX/Vue 的语法一般是不能或者不推荐直接运行的。 4.兼容性,打包的时候会进行一些向下兼容,比如 async 、const 之类的会转成低版本浏览器兼容的语法。 |