js2image 是一个可以把js源代码
压缩成一个ascii字符画
的源代码的工具,它的特色是压缩后的代码仍可运行,而不是简单的拼成最终的图案。
关于js2image的原理可以见我写的这篇详解文章:圣诞节,把网站所有的js代码都压缩成圣诞树吧。
压缩后的示例,亲测可用
http://f2e.souche.com/assets/js/lib/jquery-2.1.1.min.xmas.js
另外,本项目resource目录中有多个已经跑通过的测试库文件。
压缩效果如下:
安装依赖的系统模块 graphicsmagick
# Ubuntu$ sudo apt-get install graphicsmagick# Fedora$ sudo dnf install GraphicsMagick# OS X$ brew install graphicsmagick# Chocolatey (package manager for Windows)# (Restart of cmd/PowerShell is required)$ choco install graphicsmagick
命令行工具使用方法
执行以下命令安装全局命令:
$ npm install js2image -g
使用方法:
# 直接在命令行里执行此命令即可压缩,默认压缩出一个xmas.js后缀的文件。# -s 源代码路径 必须的参数!# -r 是否反相图像 可省# -i 指定使用的图片的路径,默认使用 ./resource/tree.png 可省$ js2image -s ./resource/jquery.js# 新增支持打包一个文件夹内所有js文件,慎用!不保证打包后的js100%运行正常,请经过人工测试确认。$ js2image -s ./resource
在Node.js中使用
执行以下命令安装模块:
$ npm install js2image --save
使用方法:
var Js2Image = require('js2image');var image = './resource/tree.png';var source = './resource/jquery.js';var target = './target/xmas.js';var options = {};// 获取结果的codevar sourceCode = fs.readFileSync(source);Js2Image.getCode(sourceCode, image, options).then(function (code) { // code为生成的代码 console.log(code); })// 或者直接写入文件Js2Image.writeToFile(source, image, target, options).then(function (code) { // 生成的代码已被写入到文件target // code为生成的代码 console.log(code); });
others
有网友反馈某些电脑上会报错,还没搞清楚情况.
onverting ./resource/release.js [Error: Could not execute GraphicsMagick/ImageMagick: gm "identify" "-ping" "-format" "%wx%h" "/usr/local/lib/node_modules/js2image/resource/tree.png" this most likely means the gm/convert binaries can't be found] /usr/local/lib/node_modules/js2image/utils/image-to-struct.js:19 var content = converted.replace(/\S\[0m/g,"").replace(/\n/g,"\",\n\""); ^ TypeError: Cannot read property 'replace' of undefined
如遇此种情况,执行以下命令即可,至于是为毛,我也没搞清楚.
npm install -g replace
截图 获取某个元素作为图片保存 <h2>原始HTML</h2> <div style="background:red;width: 750px;" class="test"> <img src="img/20190613113648.png"/> <div id="qrcode"> <img src="img/app.png"> </div> </div>
有2 7 = 128个可打印字符,可以用不同的7-BIT ASCII码表示。 另一组字符不是用于HTML表示,而是设计用于控制硬件。 下表列出了所有7-BIT ASCII代码及其等效的HTML实体代码。 如果要查看等效的HEX,OCT和扩展的ASCII代码集,请查看下一章。 7位可打印ASCII字符 ASCII字符 描述 HTML实体代码 space ! 感叹号 ! " quotation mar
我有一个从遗留系统中提取的大型机文件。该文件以ascii格式编码。我想把它转换成Comp3。java中有什么算法可以做到这一点吗?另外,我需要帮助如何解压缩comp3字段。我试着用java代码解压缩comp3,但是我发现了不正确的结果 请参考解压缩comp3字段的代码
本文向大家介绍Java生成压缩文件的实例代码,包括了Java生成压缩文件的实例代码的使用技巧和注意事项,需要的朋友参考一下 在工作过程中,需要将一个文件夹生成压缩文件,然后提供给用户下载。所以自己写了一个压缩文件的工具类。该工具类支持单个文件和文件夹压缩。放代码: 运行程序结果如下: 压缩之前的文件目录结构: 提示:如果是使用java.util下的java.util.zip进行打包处理,可
本文向大家介绍php压缩和解压缩字符串的方法,包括了php压缩和解压缩字符串的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php压缩和解压缩字符串的方法。分享给大家供大家参考。具体如下: 下面php代码通过gzcompress和gzuncompress压缩和解压缩字符串,可以设定压缩级别 希望本文所述对大家的php程序设计有所帮助。
问题内容: 我在想办法也无法在Java中解压缩String时遇到麻烦。这是我要学习的基本Java类,因此只需要基本命令,没有什么花哨的地方。它能够输入的目标 在命令提示符下,它将打印(就像它压缩参数字符串一样)。 另一个目标是输入 它将打印(就像它将解压缩参数String一样)。减压是我遇到的问题。这是我的代码,非常感谢我得到的任何帮助。 问题答案: Quick Code for you..
问题内容: 我正在使用以下代码来压缩和解压缩字符串数据,但是我面临的问题是,它很容易被压缩而不会出错,但是decompress方法会引发以下错误。 线程“主”中的异常java.io.IOException:不是GZIP格式 仍然不知道如何解决此问题!!! 问题答案: 这是因为 发送您可以从中获得的,并在其中使用它来构建您的。以下是需要在代码中进行的更改。
问题内容: 如何使用JavaScript将字符转换为ASCII码? 例如: 从“ \ n”获得10。 问题答案:
本文向大家介绍js源代码压缩都有哪些方法?它们的压缩原理分别是什么?相关面试题,主要包含被问及js源代码压缩都有哪些方法?它们的压缩原理分别是什么?时的应答技巧和注意事项,需要的朋友参考一下 方法 1.在线工具 2.webpack 原理 1.删除注释 2.变量名方法名字符精减