ant压缩html,nodejs压缩css及js工具

本文介绍了一种使用Node.js进行CSS和JavaScript文件压缩的方法。首先安装必要的工具如cssmin和yuicompressor,然后通过编写一个名为compress.js的脚本来自动化压缩流程。该脚本遍历指定文件夹中的所有CSS和JS文件,并将其压缩为.min版本,输出到另一个目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 安装nodejs

2. 安装cssmin。 npm install cssmin -g

3. 安装yuicompressor。npm install yuicompressor -g

4. 设置NODE_PATH到全局C:\Users\Administrator\AppData\Roaming\npm\node_modules (默认nodejs全局目录)

5. 创建source目录,创建dist目录

6. 创建compress.jsvar fs = require('fs');

var cssmin = require('cssmin');

var compressor = require('yuicompressor');

var sourceDir = "source";

var distDir = "dist";

var fileNames = fs.readdirSync(sourceDir);

var fileIndex = 0;

compressFile(fileNames[fileIndex]);

function compressFile(fileName){

if(fileName==null){

return;

}

var sourceFileName = fileName;

var sourceFilePath = sourceDir+"/"+sourceFileName;

var suffix = getSuffix(fileName);

if(suffix=="css"){

compressCssFile(fileName);

return;

}else if(suffix=="js"){

compressJsFile(fileName);

return

}

compressFile(fileNames[++fileIndex]);

}

function compressCssFile(fileName){

var sourceFileName = fileName;

var sourceFilePath = sourceDir+"/"+sourceFileName;

var compressedFileName = sourceFileName.replace(".css","")+".min.css";

var compressedFilePath = distDir+"/"+sourceFileName;

var css = fs.readFileSync(sourceFilePath, encoding='utf8');

var min = cssmin(css);

fs.writeFile(compressedFilePath,min,function(err){

if(err==null){

console.log("compress file["+sourceFileName+"] to file["+compressedFileName+"] successfully ...");

compressFile(fileNames[++fileIndex]);

}else{

console.log("encounter error : "+err);

}

});

}

function compressJsFile(fileName){

var sourceFileName = fileName;

var sourceFilePath = sourceDir+"/"+sourceFileName;

var compressedFileName = sourceFileName.replace(".js","")+".min.js";

var compressedFilePath = distDir+"/"+compressedFileName;

compressor.compress(sourceFilePath, {

charset: 'utf8',

type: 'js',

nomunge: true,

'line-break': 80

}, function(err, data, extra) {

fs.writeFile(compressedFilePath,data,function(err){

if(err==null){

console.log("compress file["+sourceFileName+"] to file["+compressedFileName+"] successfully ...");

compressFile(fileNames[++fileIndex]);

}else{

console.log("encounter error : "+err);

}

});

});

}

function getSuffix(fileName){

var index = fileName.lastIndexOf(".");

return fileName.substring(index+1);

}

7. 将要要所的文件放入source目录,执行compress.js(命令node compress),将文件压缩至dist目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值