为什么要压缩?

现在的Web项目总是离不开大量JavaScript和CSS,而文件的体积也越来越大,也越来越影响页面的感知性能(Perceived Performance)。

YUI Compressor介绍

Yahoo出品的YUI Compressor是一个用Java编写,帮你最小化JavaScript文件和CSS文件的命令行工具。很安全,而且比其他的工具的压缩比率更高。

YUI Compressor 使用

You can require compressor in a Node.js package and compress files and strings in async. It still uses Java under the hood

你可以在Node.js工程中引入compressor,然后异步js打包和压缩文件和字符串。(在底层它仍然使用Java)

npm i yuicompressor

var compressor = require('yuicompressor');

var fs = require( "fs" );

var path = require('path');

compressor.compress(path.resolve('./bootstrap.js'), {

// defaults to 'utf8' 被压缩文件编码

charset: 'utf8',

// defaults to 'js' 被压缩文件类型

type: 'js',

//注释nomunge 选项,否则 YUI Compressor 将自动缩短 JavaScript 文件中的变量名

nomunge: true,

//多长内容换行

'line-break': 80

}, async function(err, data, extra) {

//err 当不为null 压缩出现错误

console.log(err);

//data 压缩完的字符串

if(!err){

let result = await ih_writeFile('bootstrap.min.js', data);

if(result){

console.log('压缩成功啦');

}

}

//extra 警告消息

console.log(extra);

});

function ih_writeFile(fileName, data){

return new Promise(function (resolve, reject) {

fs.writeFile(path.resolve('./' + fileName), data, function(err){

if (err){

console.log(err);

reject (false);

}

else {

resolve (true);

}

});

});

}

运行成功生成bootstrap.min.js文件

还是不理解?

运行步骤

1、cd cd 下载目录/YUICompressorDemo-master/CompressorProject

2、rpm i

3、cd 下载目录/YUICompressorDemo-master/CompressorProject/ih_script

4、runkoa ih_compressor.js

java js css 压缩工具_javascript和css文件的压缩(YUI Compressor)相关推荐

  1. Java 中调用 Apache API 实现图片文件的 压缩 与 解压 实例

    < Java 中调用 Apache API 实现图片文件的 压缩 与 解压 > 为什么不直接使用 Java JDK 中自带的 API 呢?必须使用 Apache API 实现文件的压缩与解 ...

  2. java解压zip包_Java中文件的压缩与解压,每天进步一点点系列

    使用java.util.zip包,实现文件的压缩与解压,并提供了下载方法 注意 无论是调用createNewFile()创建文件,还是在创建输出流时由输出流负责创建文件,都必须保证父路径已经存在,否则 ...

  3. java js 执行效率_JavaScript提高加载和执行效率的方法

    前言 无论当前 JavaScript 代码是内嵌还是在外链文件中,页面的下载和渲染都必须停下来等待脚本执行完成.JavaScript 执行过程耗时越久,浏览器等待响应用户输入的时间就越长.浏览器在下载 ...

  4. java js 截取字符串_JavaScript:在JS中截取字符串的方法

    这篇主要说一说截取字符串的方法,用于帮助自己缕清方法的作用,参数的意义,返回值,是否对于原来的字符串进行了操作等. 在javascript中,常见的截取字符串的方法有slice().substring ...

  5. java zip ant 密码_java对 zip文件的压缩和解压(ant解决中文乱码)

    /***@name 解压zip格式压缩包 *@description 相关说明 *@paramsourceZip 源文件 *@paramdestDir 目标文件地址 *@throwsException ...

  6. JAVA中解决Filter过滤掉css,js,图片文件等问题

    JAVA中解决Filter过滤掉css,js,图片文件等问题 参考文章: (1)JAVA中解决Filter过滤掉css,js,图片文件等问题 (2)https://www.cnblogs.com/er ...

  7. java js获取css方法_5种JavaScript和CSS交互的方法

    原标题:5种JavaScript和CSS交互的方法 随着浏览器不断的升级改进,CSS和Java之间的界限越来越模糊.本来它们是负责着完全不同的功能,但最终,它们都属于网页前端技术,它们需要相互密切的合 ...

  8. linux css压缩工具下载,JS和CSS的压缩混淆工具(JsCompressor)下载 v3.0

    JsCompressor是一款web前端人员必备利器,它主要用来压缩混淆JS(Javascript)与CSS,基于YUI Compressor,目的是方便不熟悉Java或者不喜欢命令行方式进行压缩的W ...

  9. 16.JAVA之前端,HTML,CSS(选择器,盒子模型),JS,JQuery,Json,ajax

    一.Web前端技术栈 1.HTML超文本标记语言        实现页面展现,形成静态网页 2.CSS层叠样式表            实现页面美化 3.JS javascript脚本语言    实现 ...

最新文章

  1. 数据结构: 插值查找算法
  2. vscode怎么设置打开新的文件而不会关闭原来文件
  3. [原创分享] SocketCapture 网络抓包工具
  4. linux fedro版本查看命令,Fedora查看内核及发行版本号
  5. Pandas处理数据太慢,来试试Polars吧!
  6. flex布局学习笔记
  7. 工业交换机和工业4G路由器的区分
  8. bio java 例子_JAVA BIO 服务器与客户端实现示例
  9. 第九十期:哪种人是软件设计中的稀缺型人才?
  10. fastadmin token 验证错误_用签名保护你的隐私(4)--token生成
  11. Java数组去重的多种方法,[Java教程]JavaScript常见的五种数组去重的方式
  12. 《天天数学》连载23:一月二十三日
  13. 【工业控制】基于matlab多变量动态矩阵预测控制(DMC)【含Matlab源码 1499期】
  14. 高等数学学习笔记——第十讲——子数列与聚点原理(1. 数列收敛的归并性)
  15. android手机品牌排行,智能手机品牌排行榜2019前十名
  16. pmp项目管理师证书有什么用?
  17. Landscape Photography: Winter 风景摄影:冬天 Lynda课程中文字幕
  18. 计算机设备选型的基本原则,设备选型的概念和选型依据
  19. vue-element-admin 快捷导航(标签栏导航)切换不刷新问题
  20. C语言中函数参数传递的方式:值传递,地址传递

热门文章

  1. 粗糙集(Rough sets)、模糊逻辑(Fuzzy Logic)
  2. Android的开发
  3. catia 安装打开闪退_win10catia r20应用程序无法正常启动的解决办法
  4. 关于短文本匹配的深度学习模型
  5. tf.keras.optimizers.Adam 优化器 示例
  6. LeetCode 198. House Robber--动态规划--C++,Java,Python解法
  7. 灾难恢复级别_如何实施云计算灾难恢复
  8. 查询距离两天的数据_一张图就可以管理城建数据?!实景城市三维平台来了
  9. 蜗蜗 Linux内核芬妮下,Linux内核的整体架构
  10. Android Studio编译好的apk放在哪里?