如何使用brotli npm模块压缩文件
How to use the brotli npm module to compress files
我想用this npm module来压缩文件,但是文档有点卡住了。
在 linux shell :
npm install brotli # npm@4.1.2 # brotli@1.3.1
node # v6.9.4
然后节点内部:
var fs = require('fs');
var brotli = require('brotli');
brotli.compress(fs.readFileSync('myfile.txt')); // output is numbers
fs.writeFile('myfile.txt.br', brotli.compress(fs.readFileSync('bin.tar')), function(err){ if (!err) { console.log('It works!');}});
"It works!"
但是文件也满是数字...
我从来没有在节点中使用过这样的流和文件系统,有人可以解释一下如何处理这个吗?谢谢!
使用这个简单的 JS 代码,您可以压缩所选文件夹中的每个 *.html
*.css
*.js
文件(在本例中为 /dist
)
const fs = require('fs');
const compress = require('brotli/compress');
const brotliSettings = {
extension: 'br',
skipLarger: true,
mode: 1, // 0 = generic, 1 = text, 2 = font (WOFF2)
quality: 10, // 0 - 11,
lgwin: 12 // default
};
fs.readdirSync('dist/').forEach(file => {
if (file.endsWith('.js') || file.endsWith('.css') || file.endsWith('.html')) {
const result = compress(fs.readFileSync('dist/' + file), brotliSettings);
fs.writeFileSync('dist/' + file + '.br', result);
}
});
我想用this npm module来压缩文件,但是文档有点卡住了。
在 linux shell :
npm install brotli # npm@4.1.2 # brotli@1.3.1
node # v6.9.4
然后节点内部:
var fs = require('fs');
var brotli = require('brotli');
brotli.compress(fs.readFileSync('myfile.txt')); // output is numbers
fs.writeFile('myfile.txt.br', brotli.compress(fs.readFileSync('bin.tar')), function(err){ if (!err) { console.log('It works!');}});
"It works!"
但是文件也满是数字...
我从来没有在节点中使用过这样的流和文件系统,有人可以解释一下如何处理这个吗?谢谢!
使用这个简单的 JS 代码,您可以压缩所选文件夹中的每个 *.html
*.css
*.js
文件(在本例中为 /dist
)
const fs = require('fs');
const compress = require('brotli/compress');
const brotliSettings = {
extension: 'br',
skipLarger: true,
mode: 1, // 0 = generic, 1 = text, 2 = font (WOFF2)
quality: 10, // 0 - 11,
lgwin: 12 // default
};
fs.readdirSync('dist/').forEach(file => {
if (file.endsWith('.js') || file.endsWith('.css') || file.endsWith('.html')) {
const result = compress(fs.readFileSync('dist/' + file), brotliSettings);
fs.writeFileSync('dist/' + file + '.br', result);
}
});