
其实代码拼成图形不麻烦,最麻烦的是拼完了之后,代码仍然可以运行,为这个做了很多工作。
github 开源地址: https://github.com/xinyu198736/js2image 欢迎围观。
这里还有篇技术细节讲解的文章: http://zhuanlan.zhihu.com/yutou/20439979
效果:可以看一下我们公司官网页面里的 js , http://www.souche.com
http://assets.souche.com/assets/js/lib/jquery-1.7.1.min.js
效果图:

1 zythum 2015-12-23 19:22:28 +08:00 看来贵公司很闲... 把所有 js 都处理了下。是不是功能都要测一遍才敢上啊.... |
2 xinyu198736 OP @zythum 其实只替换了主要的几个 js ,随手测了下没报错就上了。。。 |
3 zythum 2015-12-23 19:40:10 +08:00 @xinyu198736 js 是运行时的随手测不一定能测全。朱一比较保守。不太敢这么玩.... |
4 zythum 2015-12-23 19:40:25 +08:00 @xinyu198736 不过确实挺有趣的 |
5 chairuosen 201-12-23 19:42:56 +08:00 可以扩展一下,拼成个对联。。。。 |
6 Strikeactor 2015-12-23 19:44:58 +08:00 你们。。赢了。。 |
7 xinyu198736 OP @chairuosen 有图片就能拼。。。 |
8 xinyu198736 OP @zythum 官网用的人不多了。。。没人管,随便改,哈哈 |
9 rvw 2015-12-23 19:49:28 +08:00 你牛你说话 |
10 swolf119 2015-12-23 19:59:25 +08:00 也是寂寞的够了 |
11 kiito 2015-12-23 20:00:52 +08:00 via Android 有女朋友么 |
12 banricho 2015-12-23 20:36:18 +08:00 看来工作不饱和啊,不得不说这个团队氛围真的很赞 |
13 xinyu198736 OP @kiito 早结婚了,老婆还没毕业的时候就领证了 |
14 ilotuo 2015-12-23 20:57:45 +08:00 用 c 比较无压力 |
15 xinyu198736 OP 已经 110 个 star 了,顶上去,走出中国冲出世界登录火星 |
16 Wangxf 2015-12-23 21:44:55 +08:00 建议加上英文版 readme_EN ,哈哈 |
17 50vip 2015-12-23 21:54:30 +08:00 要有英文才能登上火星。 |
18 aksoft 2015-12-23 22:08:25 +08:00 @chairuosen 我顶你 |
19 zonghua 2015-12-23 22:08:54 +08:00 via iPhone 这就是 Javascript 要加分号的重要原因 |
20 xinyu198736 OP @Wangxf 英文已加 |
21 xinyu198736 OP @chairuosen 过年可以拼成对联 |
22 otakustay 2015-12-23 22:59:36 +08:00 @zythum 这个其实没这么麻烦,通常这种格式美化只是换行和空格的调整,并不会改变代码的执行逻辑 所以,拉出 AST 来看是不是没变就行了,我看到有少数的字符串被分开做+运算以便能够插入换行,这个可以很简单地在 AST 上做 merge 的 也有可能会额外加入一些空语句来填充一些位置,这个我不确定是否方便,但做 tree shaking 应该也可以有效地去除 但总的来说,嗯,你确实得很闲 |
23 irobot03 2015-12-23 23:01:37 +08:00 很有新意,已 star |
24 xinyu198736 OP 已经上 trending 。。。 |
25 xinyu198736 OP @otakustay 恩,不过我不太懂 AST ,为了快速实现,用了暴力的字符串分析,也写了篇文章分析其中涉及的技术。不过不用 ast 的问题就是如果考虑不够全的话,不能保证 100%的编译成功。 |
26 Tink PRO 求 python 版 |
27 lwbjing 2015-12-24 00:12:21 +08:00 芋百万 V587.. |
28 lshero 2015-12-24 00:25:42 +08:00 “官网用的人不多了。。。没人管,随便改” 老板看见会不会发飙啊? |
29 xinyu198736 OP @lshero 不会,我们公司的业务就不在官网。。。已经一年多没动过代码了 |
31 lk920724 2015-12-24 12:06:40 +08:00 ...怎么恢复? |
34 xinyu198736 OP @lk920724 源代码都在的。。。你访问我一个 js 的时候我会判断是否存在.xmas.js ,如果存在就输出 xmas 地内容,过了明天直接改一下这个配置就可以了 |
35 xinyu198736 OP @lk920724 2333 |