currentfile = './files/' + clips.shift() + '.mp3';
stream = fs.createReadStream(currentfile);
把排好序的數組,逐個shift出來,讀入到流
stream.pipe(dhh, {end: false});
stream.on("end", function() {
console.log(currentfile + ' appended');
main();
});
當讀完時,再去執行main,再次shift,讀入到流。一直到
if (!clips.length) {
dhh.end("Done");
return;
}
『貳』 如何利用node進行js css合並壓縮
gulp是基於Node.js的前端構建工具。所以首先需要安裝nodejs,安裝nodejs。
完成nodejs安裝之後,需要使用npm安裝gulp。
先安裝全局gulp
npm install -g gulp然後在項目根目錄下安裝本地gulp。
此時項目根目錄下會多出下面這個文件夾 node_moles
好的,現在gulp已經安裝完成了,但是gulp本身不提供js壓縮合並等功能,需要使用gulp的相關插件。目前只需要完成js壓縮合並和css文件壓縮的功能,先安裝相應的插件:
1.css壓縮 gulp-minify-css
2.js壓縮 gulp-uglify
3.js合並 gulp-concat
由於壓縮之前需要對js代碼進行代碼檢測,壓縮完成之後需要加上min的後綴,我們還需要安裝另外兩個插件:
『叄』 nodejs zlib 怎麼把幾個壓縮過的文件解壓拼接
我請求管用所結束httpvar http = require("http"),
zlib = require("zlib");
function getGzipped(url, callback) {
// buffer to store the streamed decompression
var buffer = [];
http.get(url, function(res) {
// pipe the response into the gunzip to decompress
var gunzip = zlib.createGunzip();
res.pipe(gunzip);
gunzip.on('data', function(data) {
// decompression chunk ready, add it to the buffer
buffer.push(data.toString())
}).on("end", function() {
// response and decompression complete, join the buffer and return
callback(null, buffer.join(""));
}).on("error", function(e) {
callback(e);
})
}).on('error', function(e) {
callback(e)
});
}
getGzipped(url, function(err, data) {
console.log(data);
});
2. 嘗試添加encoding: null給傳遞給選項request避免載體轉換字元串並保持二進制緩沖區
3. 工作示例(使用節點請求模塊)gunzips響應function gunzipJSON(response){
var gunzip = zlib.createGunzip();
var json = "";
gunzip.on('data', function(data){
json += data.toString();
});
gunzip.on('end', function(){
parseJSON(json);
});
response.pipe(gunzip);
}
全碼:
4. 像@Iftah說設置encoding: null 完整例(少錯誤處理):request = require('request');
zlib = require('zlib');
request(url, {encoding: null}, function(err, response, body){
if(response.headers['content-encoding'] == 'gzip'){
zlib.gunzip(body, function(err, dezipped) {
callback(dezipped.toString());
}
} else {
callback(body);
}
});
『肆』 請教NodeJS 合並 Array 相同 Key 的寫法
ES6 有個set方法,你看一下
var arr = [1, 2, 3, 4, 4]
var set = new Set(arr);
var result = [...set];
console.log(result);
『伍』 如何用nodejs壓縮文件,生成tar包
你好,
我不知道如何直接使用Node.js代碼邏輯生成tar包,但我可以給你提供一個使用Node.js調用Linux命令專生成tar包的方法。
首先屬,在npm中有一個叫做shelljs的包,在項目中安裝它:
npmi--saveshelljs
然後,在執行打包任務的js文件中使用它:
varshell=require('shelljs');
if(shell.exec('tar-zvcf文件名.tar.gz被打包的文件(夾)').code!==0){
shell.echo('Error:...');
shell.exit(1);
}這樣就可以在當前目錄生成一個「文件名.tar.gz」的壓縮包了,而「文件名」和「被打包的文件(夾)」都可以通過參數的形式進行傳遞。
好了,更多信息可以github上搜索shelljs,希望能解決你的問題。
『陸』 nodejs 腳本可以合並壓縮嗎
gulp是基於Node.js的前端構建工具。所以首先需要安裝nodejs,安裝版nodejs。 完成nodejs安裝之後,需要使用npm安裝gulp。 先安裝全局gulp npm install -g gulp然後在項目根權目錄下安裝本地gulp。
『柒』 如何使用nodejs 的 uglifyjs 壓縮js文件
[js壓縮]uglifyjs source.js -mc -o target.min.js
以壓縮angular.js為例,可以壓縮局部變數名,去掉無用的局部變數,空白符等,壓縮比例接近80%,效率不錯
[user_00@ ~]$ uglifyjs angular.js -mc -o angular.min.js
WARN: Dropping unused function isBoolean [angular.js:416,9]
WARN: Dropping unused function makeMap [angular.js:446,9]
WARN: Dropping unused function size [angular.js:488,9]
WARN: Dropping unused function isLeafNode [angular.js:523,9]
WARN: Dropping unused function argument boundTranscludeFn [angular.js:4682,27]
WARN: Dropping unused function argument rootElement [angular.js:4681,16]
WARN: Dropping unused function argument nodeList [angular.js:4680,17]
WARN: Dropping unused function argument scope [angular.js:4679,22]
WARN: Dropping unused function nodesetLinkingFn [angular.js:4678,9]
WARN: Dropping unused function argument boundTranscludeFn [angular.js:4690,27]
WARN: Dropping unused function argument rootElement [angular.js:4689,16]
WARN: Dropping unused function argument node [angular.js:4688,13]
WARN: Dropping unused function argument scope [angular.js:4687,22]
WARN: Dropping unused function argument nodesetLinkingFn [angular.js:4686,25]
WARN: Dropping unused function directiveLinkingFn [angular.js:4685,9]
WARN: Dropping unused function stripHash [angular.js:5009,9]
WARN: Dropping unused variable NG_SWITCH [angular.js:13857,4]
WARN: Dropping unused variable fns [angular.js:1536,8]
WARN: Dropping unused variable events [angular.js:1536,13]
WARN: Dropping unused function wrongMode [angular.js:3879,13]
WARN: Dropping unused function argument cause [angular.js:4799,31]
WARN: Dropping unused function argument exception [angular.js:4799,20]
WARN: Dropping unused function argument args [angular.js:8165,28]
WARN: Dropping unused function argument args [angular.js:8231,33]
WARN: Dropping unused function argument names [angular.js:9018,32]
WARN: Dropping unused function argument name [angular.js:9030,40]
WARN: Dropping unused variable value [angular.js:9230,14]
WARN: Dropping unused function argument value [angular.js:12475,36]
[user_00@localhost ~]$ ls -lh angular.*
-rw-rw-r-- 1 user_00 user_00 479K Apr 5 01:53 angular.js
-rw-rw-r-- 1 user_00 user_00 79K May 4 16:09 angular.min.js
『捌』 win7 nodejs zip文件怎麼配置環境變數
win7 nodejs zip文件怎麼配置環境變數見內:容https://jingyan..com/article/1876c8529c79e2890b1376dd.html
『玖』 親nodejs怎麼實現文件合並,比如mp3文件
currentfile = './files/' + clips.shift() + '.mp3';
stream = fs.createReadStream(currentfile);
把排好序的數組,逐個shift出來,讀入到流
stream.pipe(dhh, {end: false});
stream.on("end", function() {
console.log(currentfile + ' appended');
main();
});
當讀完時,再專去執行屬main,再次shift,讀入到流。一直到
if (!clips.length) {
dhh.end("Done");
return;
}