看到一段奇怪的 javascript 代码?感觉不像是加密。对前端不是很熟悉,这种写法,感觉是符合某种框架,然后被加密,变量名被转变。熟悉的朋友来说说看

2015-07-10 21:01:03 +08:00
 yaotian
(function e(t, n, r) {
function s(o, u) {
if (!n[o]) {
if (!t[o]) {
var a = typeof require == "function" && require;
if (!u && a) return a(o, !0);
if (i) return i(o, !0);
throw new Error("Cannot find module '" + o + "'")
}
var f = n[o] = {
exports: {}
};
t[o][0].call(f.exports,
function(e) {
var n = t[o][1][e];
return s(n ? n: e)
},
f, f.exports, e, t, n, r)
}
return n[o].exports
}
var i = typeof require == "function" && require;
for (var o = 0; o < r.length; o++) s(r[o]);
return s
})({
1 : [function(require, module, exports) {.....
2827 次点击
所在节点    程序员
6 条回复
otakustay
2015-07-11 13:05:39 +08:00
看上去应该是某个AMD或CMD的加载器来着
yaotian
2015-07-11 20:26:38 +08:00
@otakustay 多谢,我也感觉类似CMD的加载器
tushiner
2015-07-11 23:02:41 +08:00
这不叫加密,叫压缩
wh1100717
2015-07-12 13:27:57 +08:00
这代码是压缩过的...
应该不是加载器,你贴出来的这块应该是进行环境判断,判断当前环境是否存在requirejs啊什么的,根据具体的环境对外暴露不同的变量形式。比如如果require变量存在并且是函数,则返回传入参数n[0].exports(即实际主代码中module.exports或者return的内容)
wsfxy
2015-07-12 16:13:29 +08:00
压缩的来着
yaotian
2015-07-12 17:12:31 +08:00
@tushiner
@wh1100717
@wsfxy
@otakustay
感谢回复,能看出是用的什么CMD加载器吗?加载器应该有加载用的js才对呀,比如SeaJS在网页中有SeaJs.js,奇怪页面中看不到,只有以下几个:jweixin-1.0.0.js, zepto.min.js, underscore-min.js,iscroll.js。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/204845

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX