① 如何從字元串中的Node.js創建流
1. 剛創建的一個新實例stream模塊,並根據您的需求定製它:
var Stream = require('stream')
var stream = new Stream()
stream.pipe = function(dest) {
dest.write('your string')
}
stream.pipe(process.stdout) // in this case the terminal, change to ya-csv
或
var Stream = require('stream')
var stream = new Stream()
stream.on('data', function(data) {
process.stdout.write(data) // change process.stdout to ya-csv
})
stream.emit('data', 'this is my string')
2. 將字元串轉換為流,通過一個流:
through().pause().queue('your string').end()
例如:
var through = require('through')
// Create a paused stream and buffer some data into it:
var stream = through().pause().queue('your string').end()
// Pass stream around:
callback(null, stream)
// Now that a consumer has attached, don't forget to resume the stream:
stream.resume()
更新:@substack剛剛發布的模塊。這就像一個通過()流,但自上nextTick流,當且僅當別人有它在
var resumer = require('resumer')
var stream = resumer().queue('your string').end()
// Now pass `stream` around. No need to resume, it happens automatically.
該resumer().queue('some string').end()idioms是我現在創建adhoc流。這是方便多了,你可以return流,他們還是會得到
3. JavaScript是鴨子類型的 CodeGo.net,所以如果你只是復制一個可讀的流的API,它會工作得很好。事實上,你也許可以不是大多數的或剛剛離開他們作為存根,所有你需要的是什麼樣的你節點的預建EventEmitter類來處理事件,也讓你不必addListener和這樣的自己。 這里是你如何可能它的CoffeeScript:
class StringStream extends require('events').EventEmitter
constructor: (@string) -> super()
readable: true
writable: false
setEncoding: -> throw 'not implemented'
pause: -> # nothing to do
resume: -> # nothing to do
destroy: -> # nothing to do
pipe: -> throw 'not implemented'
send: ->
@emit 'data', @string
@emit 'end'
那麼你也喜歡這樣:
stream = new StringStream someString
doSomethingWith stream
stream.send()
② 求問nodejs有什麼方法能夠獲取到子網掩碼
用csharp 錨點符號後面的內容不會回傳到伺服器,這個是標准約定,瀏覽器都是這么實現的和node.js沒有關系 其它語言也獲取不到
③ 怎麼使用node.js進行快速截圖
使用nodejs進行截圖復,推薦使用phantomjs實現。制phantomjs是一個無頭瀏覽器,能夠實現截屏,網路請求監測,自動化測試等功能。具體所有例子可以在phantomjs官網找到,下面給一個官網截屏的實例:
//index.js
varpage=require('webpage').create();
page.open('
,function(){
page.render('github.png');
phantom.exit();
});
//命令行調用
phantomjsindex.js
通常也會用casperjs(webkit)來實現截圖,它有更好用的api封裝方便實現各種操作。在Gecko內核下則使用slimerjs實現。
不過google官方團隊也出了針對chrome的無頭瀏覽器工具puppeteer,現在版本是0.9.0,這款工具是單獨針對Chrome瀏覽實現的,提供了強大但是簡單實用的api。
以上關鍵詞 phantomjs、casperjs、slimerjs及puppeteer均可在gitHub上找到,且可以自行下載包查看示例。
④ node.js與jquery有什麼區別我很了解jquery,但是node.js就不太懂了
jquery是一個運行在客戶端的javascript庫,主要提供操作DOM等等的簡化操作;
node.js是運行在伺服器端的一個服專務器程序,運屬行javascript語言,是一個伺服器軟體,解釋執行js語言。可以用js語言操作伺服器層面的事務,比如創建http鏈接,信息的I/O。這些是和jquery一樣用的js語言進行操作執行的。
就是說node.js是一個利用js語言的伺服器程序,可以運行jquery,但是其中的一些事件是用不到的;
jquery是一個js庫,主要是處理客戶端事務。
⑤ nodejs網路爬蟲怎麼過濾關鍵字
啟動terminal,運行"python /Cocos/Cocos2d-x-3.0beta2/tools/project-creator/create_project.py"。把工程命名為MaskedCal,然後選擇一個文件夾來保存,最後點Create。
接下來,請下載本工專程所需要的資源屬文件並把它們拖到你的Xcode的Resource分組中,確保「Copy items into destination group』s folder (if needed)」 並復選中,然後點Finish。
⑥ node.js在前端中有什麼作用
可以不通過後台語言,前端也可以實現後台語言實現的效果和內容
⑦ Nodejs有沒有過濾器模塊
Node.js逐漸升溫,很多朋友已經開始關注。但是在Windows平台上需要基於Cygwin安裝配置環境,讓很多人望而卻步。
不過有消息稱Microsoft已經聯系Node.js官方,相信很快會有改善。
那麼在不安裝Cygwin的情況下,是否可以在Windows上搭建Node.js環境進行試驗開發哪看我以Node.js + express做了個簡單測試,基本可行。
步驟如下:
1. 下載Node.js官方非穩定版Windows可執行程序:
我在試驗中使用了0.5.7版本
2. 創建c:\nodejs目錄,並將node.exe保存在此目錄中
3. 下載express。因為依賴關系,我們還需要下載:connect、qs、mime和jade(express默認模板系統。如果你使用其他模板系統,需要下載相應系統)
4. 創建c:\nodejs\node_moles目錄,並在此目錄中分別創建[Mole]目錄。然後將上一步下載的文件壓縮,把相關文件拷貝到[Mole]目錄中。
node_moles
|- connect <= connect: lib/*
|- express <= express: lib/*
|- jade <= jade: lib/*
|- mime <= mime: mime.js & types/*
|- qs <= qs: lib/*
5. 在c:\nodejs\node_moles目錄,分別創建以下文件:
connect.js
內容:mole.exports = require('./connect/connect');
express.js
內容:mole.exports = require('./express/express');
jade.js
內容:mole.exports = require('./jade/jade');
mime.js
內容:mole.exports = require('./mime/mime');
qs.js
內容:mole.exports = require('./qs/querystring');
6. 將下載的express壓縮包中的bin/express文件拷貝到c:\nodejs目錄,並改名為express.js
7. 修改express.js文件,以下以2.4.3為例:
7.1. 修改mkdir函數體
401: exec('mkdir -p ' + path, function(err){
->exec('md ' + path, function(err){
7.2. 修改mkdir函數調用
263: mkdir(path + '/public/javascripts');
->mkdir(path + '\\public\\javascripts');
264: mkdir(path + '/public/images');
->mkdir(path + '\\public\\images');
265: mkdir(path + '/public/stylesheets', function(){
->mkdir(path + '\\public\\stylesheets', function(){
280: mkdir(path + '/views', function(){
->mkdir(path + '\\views', function(){
8. 創建一個express項目:
c:\nodejs\node.exe express.js -s hello
9. c:\nodejs\node_moles\*.* => c:\nodejs\hello\node_moles\
10. 運行並測試:
c:\nodejs\node.exe hello\app.js
在瀏覽器中打開:,查看結果。
至此測試完成。
下面給出測試文件,在測試文件中我還試驗了express session。可以在瀏覽器中打開:/session,查看結果。
⑧ node.js怎麼去除字元串空格
方法:通常去復除字元制串空格之類的問題通過正則來實現還是比較常見的。
實現代碼:
vart=function(str){
'定義正則左側空格
vartrimLeft=/^s+/,
'定義正則右側空格
trimRight=/s+$/;
'替換左邊和右邊的空格
str.replace(trimLeft,"").replace(trimRight,"");
};
定義和用法
replace() 方法用於在字元串中用一些字元替換另一些字元,或替換一個與正則表達式匹配的子串。
⑨ node.js怎麼過濾靜態資源
將對象轉換成字元串,字元串里多個參數將用 『&' 分隔,將用 『=' 賦值。 這個函數的操作和 querystring.parse() 是相反的,具體可以看一下例子就了解了。
⑩ 使用node.js,實現一個簡單的介面伺服器的功能
varhttp=require('http');
varmysql=require('mysql');
varconnection=mysql.createConnection({
host:'localhost',
user:'me',
password:'secret',
});
//開始你的mysql連接
connection.connect();
varserver=http.createServer(function(req,res){
//如果你發一個GET到http://127.0.0.1:1337/test?a=1&b=2的話
varurl_info=require('url').parse(req.url,true);
//檢查是不是給/test的request
if(url_info.pathname==='/test'){
//把query用urlencode,這樣可以用post發送
varpost_data=require('querystring').stringify(url_info.query);
//post的option
varpost_options={
host:'localhost',
port:1337,
path:'/response_logic',
method:'POST',
headers:{
'Content-Type':'application/x-www-form-urlencoded',
'Content-Length':post_data.length
}
};
//發出post
varrequest_made=http.request(post_options,function(response_received){
varbuf_list=newArray();
response_received.on('data',function(data){
buf_list.push(data);
});
response_received.on('end',function(){
varresponse_body=Buffer.concat(buf_list);
res.end(response_body);
connection.query('insertinto.........',function(err,rows,fields){
//處理你的結果
});
});
});
//發出post的data
request_made.end(post_data);
}
//這個是用來回復上面那個post的,顯示post的數據以表示成功了。你要是有別的目標,自然不需要這一段。
else{
req.pipe(res);
}
});
server.listen(1337,'127.0.0.1');
//在server關閉的時候也關閉mysql連接
server.on('close',function(){
connection.end();
});
console.log('listeningonport1337');