YUI Compressor 是一个用于压缩 JavaScript、CSS 和 HTML 文件的工具。以下是一个简单的示例代码,展示了如何使用 Node.js 运行 YUI Compressor 来压缩一个 JavaScript 文件。
首先,确保你已经安装了 Node.js。然后,创建一个名为 compress.js
的文件,并将以下代码粘贴到文件中:
const fs = require('fs');
const path = require('path');
const YUI = require('yui-compressor');
const inputFilePath = path.join(__dirname, 'input.js');
const outputFilePath = path.join(__dirname, 'output.min.js');
const compressor = new YUI({
root: __dirname,
output: {
filename: outputFilePath
}
});
compressor.process(inputFilePath, {}, (err, result) => {
if (err) {
console.error('Error compressing file:', err);
} else {
console.log('File compressed successfully!');
fs.writeFileSync(outputFilePath, result);
}
});
在这个示例中,我们首先导入了 fs
和 path
模块,这些模块提供了文件系统操作和路径处理的功能。然后,我们导入了 yui-compressor
模块,并使用它来创建一个压缩器实例。
在创建压缩器实例时,我们指定了输入文件的路径(inputFilePath
)和输出文件的路径(outputFilePath
)。我们还设置了 root
选项,指定了压缩器应该在其根目录下查找文件。
接下来,我们调用 compressor.process()
方法来压缩输入文件。这个方法接受三个参数:输入文件的路径、一个包含压缩选项的对象和一个回调函数。在这个示例中,我们没有设置任何特殊的压缩选项,所以第二个参数是一个空对象。
最后,我们提供了一个回调函数,该函数在压缩完成后被调用。如果压缩成功,我们将压缩后的结果写入到输出文件中。如果压缩过程中发生错误,我们将在控制台中打印错误消息。
要运行这个示例代码,请确保你有一个名为 input.js
的 JavaScript 文件在同一目录下,然后在命令行中运行以下命令:
node compress.js
这将压缩 input.js
文件并将结果保存到 output.min.js
文件中。