HTML文件压缩存储,压缩前端文件(html, css, js)

1:原因

在写前端代码时, 因为要尽可能的适合阅读会加入许多注释, 空格等, 这些在开发时是必要的, 但当你要发布时, 就需要让代码更加精简, 精简压缩的同时也混淆了代码, 安全性也加强了, 可以说是一举两得。

2:解决方案

使用 htmlcompressor-1.5.3.jar(html) 和 yuicompressor-2.4.8.jar(js, css) 实现前端资源的压缩。

3:例子

3.1 htmlcompressor-1.5.3.jar 压缩 html文件

java -jar ./htmlcompressor-1.5.3.jar Internet.html -o Internet1.html (表示压缩Internet.html文件中的html代码)

如果, html文件中嵌入了css, 和js代码呢?这就需要添加 --compress-js 和 --compress-css 这两个选项来实现压缩

java -jar ./htmlcompressor-1.5.3.jar Internet.html -o Internet1.html --compress-js  --compress-css  (表示压缩Internet.html文件中所有代码, 压缩后文件更小)

压缩后大小对比(小了59kb):

[stone web]$ ls -l Internet.html-rw-rw-r-- 1 stone stone 205671 Nov 15 10:39Internet.html

[stone web]$ ls-l Internet1.html-rw-rw-r-- 1 stone stone 145151 Nov 15 10:51 Internet1.html

内容对比图(右边被压缩后的html文件更加紧凑, 却不影响浏览器识别):

9a577fc1257a0ab5ff0ea5d7b7bcdeb2.png

htmlcompressor-1.5.3.jar 也可以压缩js和css文件, 就是使用'--compress-js 和 --compress-css这两个选项', 但是使用htmlcompressor-1.5.3.jar压缩的css和js还不够彻底, 可以使用专门压缩css和js文件的工具yuicompressor-2.4.8.jar

3.2 yuicompressor-2.4.8.jar 压缩 js 和css文件

命令: java -jar ./yuicompressor-2.4.8.jar ./js/AES.js -o test.js

压缩后大小对比(5kb):

[stone web]$ ls -l ./js/AES.js-rw-rw-r-- 1 stone stone 9173 Nov 15 10:39 ./js/AES.js

[stone web]$ ls-l ./test.js-rw-rw-r-- 1 stone stone 4057 Nov 15 10:58 ./test.js

内容对比图(右边被压缩后的js文件更加紧凑, 却不影响浏览器识别):

fe1cfb5de08f452479739875327e3ba4.png

而且可以看到, js文件的内容被压缩到了一行上面, 并且yuicompressor还将js文件中的变量用a,b,c等来替代, 所以压缩程度是比较高了的, 所以对人来说很不友好, 但是不影响机器识别功能。

4:使用到我的平台

在项目中, 直接在生成image之前, 将拷贝到文件系统(rootfs)中的所有html, js, css进行压缩之后再编译FW即可.

参考的Makefile:

#find $(TARGET)/htdocs/web/ -type f -name *.html -exec java -jar $(TOPDIR)/progs.brand/java/htmlcompressor-1.5.3.jar {} -o {} --compress-js --compress-css ;

#find $(TARGET)/htdocs/web/js ! -path "*/localization/*" -type f -name *.js ! -name MacList.js -exec java -jar $(TOPDIR)/progs.brand/java/yuicompressor-2.4.8.jar {} -o {} ;

#find $(TARGET)/htdocs/web/css -type f -name *.css -exec java -jar $(TOPDIR)/progs.brand/java/yuicompressor-2.4.8.jar {} -o {} ;

经过对比, FW比没有压缩前端code小了1M左右

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在前端展示OSGB文件,你可以使用以下步骤: 1. 了解OSGB文件格式:OSGB(Ordnance Survey Great Britain)是英国国家测量局开发的一种地理空间数据格式,主要用于英国地图数据的存储和传输。OSGB文件包含地图数据的几何信息、纹理、属性等内容。 2. 选择一个合适的3D引擎:在前端展示OSGB文件需要使用3D引擎,目前比较流行的引擎有Three.js、Babylon.js、Cesium等。可以根据自己的需求和技术储备选择一个合适的引擎。 3. 加载OSGB文件:将OSGB文件加载到前端需要使用相应的工具库,比如cesium-ion-sdk、cesium-osgb等,也可以使用第三方的工具库进行加载。其中,cesium-ion-sdk是Cesium的官方SDK,可以直接从Cesium官网获取。 4. 解析OSGB文件:OSGB文件中包含了大量的地理数据,需要进行解析才能在3D场景中展示。解析过程中需要注意坐标系的转换、纹理的处理等问题。 5. 构建3D场景:在解析OSGB文件后,可以根据需要构建3D场景,包括地形、建筑物、道路、河流等地理要素。可以使用引擎提供的各种API进行场景构建和交互。 6. 调试和优化:在构建3D场景的过程中,可能会遇到各种问题,需要进行调试和优化。可以使用浏览器的调试工具、引擎的调试工具等来解决问题。 以上是展示OSGB文件的基本步骤,具体实现还需要根据实际情况进行调整和优化。 ### 回答2: 前端3D OSGB文件展示是指在网页前端使用特定的技术和工具来展示和呈现OSGB格式的3D模型文件。OSGB(OpenSceneGraph Binary)是一种基于二进制格式的开放场景图(OpenSceneGraph)文件,用于描述三维场景和模型。 实现前端3D OSGB文件展示需要借助一些前端开发框架和库,如Three.js、Cesium等。具体的展示步骤如下: 1. 导入3D模型文件:将OSGB文件导入到前端项目中,通常可以通过文件上传或者网络请求的方式获取OSGB文件,并将其加载到前端页面中。 2. 解析和渲染模型:使用相应的解析器对OSGB文件进行解析,将模型数据转换成前端可识别的数据结构。然后利用渲染引擎(如Three.js)将模型数据渲染到画布上,形成可见的3D模型。 3. 添加交互和控制:在展示的模型上添加交互和控制功能,使用户可以通过鼠标或触摸来控制视角的变化、进行模型的缩放、旋转等操作。同时,还可以添加其他交互元素,如按钮、标签等,提供更多的功能和交互方式。 4. 优化性能:为了保证展示的效果和性能,需要对模型进行一些优化处理。例如,对模型进行分级细节(LOD)渲染,根据视角的远近动态调整模型的复杂度;进行贴图、光照等效果的优化等。 5. 兼容性和性能测试:完成展示效果后,进行兼容性和性能测试,确保在不同浏览器和设备上都能正常运行,并保证流畅的展示效果。 总之,前端3D OSGB文件展示是一项复杂的任务,需要综合运用前端开发技术和工具来实现。它在地理信息系统、虚拟现实、游戏开发等领域有着广泛的应用前景。 ### 回答3: 前端3D OSGB文件展示指的是通过前端技术实现在网页中展示OSGB格式的3D模型文件。OSGB是一种开放的地理信息系统数据交换格式,用于存储地理和3D空间数据。实现前端展示OSGB文件的主要步骤如下: 首先,需要将OSGB文件转换为前端可读取的格式。可以使用开源库如Cesium或Three.js来读取和显示OSGB文件。这些库提供了强大的功能,可以从OSGB文件中提取几何信息、纹理贴图等,并在浏览器中渲染展示。 接下来,需要创建一个网页页面来展示OSGB文件。可以使用HTMLCSS来创建一个包含3D渲染区域的页面。可以使用canvas元素或WebGL技术来渲染3D场景。 然后,在JavaScript中加载并解析OSGB文件。通过调用相应的库函数,可以将OSGB文件加载到浏览器中,并解析其中的数据。这些库提供了API来读取文件内容、创建场景、设置光照和材质等。 最后,根据需要添加其他功能。可以在页面上添加交互功能,如旋转、缩放、平移等,使用户可以与3D模型进行互动。还可以添加标注、切片等功能来增强展示效果。 需要注意的是,在展示大型OSGB文件时,可能会涉及到性能和加载速度的问题。可以通过优化渲染流程、进行数据剖析和压缩等方法来提升展示效果并减小加载时间。 总之,通过前端技术,我们可以实现在网页中展示OSGB文件,实现3D模型的展示和互动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值