nodejs基礎(chǔ)應(yīng)用
一、第一個(gè)nodejs應(yīng)用
n1_hello.js
console.log('hello word!');
在命令行cmd中執(zhí)行該文件(在該文件處打開(kāi)命令行):
node n1_hello.js
在命令行cmd返回結(jié)果:
hello word!
二、nodejs基本格式
//步驟一:引入require模塊,require指令載入http模塊 var http = require('http'); //步驟二:創(chuàng)建服務(wù)器 http.createServer(function (request, response) { // 發(fā)送 HTTP 頭部 // HTTP 狀態(tài)值: 200 : OK // 內(nèi)容類(lèi)型: text/html response.writeHead(200, {'Content-Type': 'text/html;chaset=utf-8;'}); //步驟三:接受請(qǐng)求與響應(yīng)請(qǐng)求 if(request.url!=='/favicon.ico'){ ...... // 發(fā)送響應(yīng)數(shù)據(jù) response.end('');//必須有,沒(méi)有則沒(méi)有協(xié)議尾 } }).listen(8000); // 終端打印如下信息 console.log('Server running at http://127.0.0.1:8000/');
三、nodejs調(diào)用函數(shù)
-----------------調(diào)用本地函數(shù)-----------------------------
var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/html;chaset=utf-8;'}); if(request.url!=='/favicon.ico'){ fun1(response); // 發(fā)送響應(yīng)數(shù)據(jù) response.end(''); } }).listen(8000); // 終端打印如下信息 console.log('Server running at http://127.0.0.1:8000/'); function fun1(res){ console.log('fun1'); res.write('hello,我是fun1'); }
-----------------調(diào)用外部函數(shù)-----------------------------
注意:外部函數(shù)必須寫(xiě)在module.exports中,exports 是模塊公開(kāi)的接口
------------(1)僅調(diào)用一個(gè)函數(shù)-----------
主程序中:
var http = require('http'); var otherfun = require("./models/otherfuns.js");//調(diào)用外部頁(yè)面的fun2 http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/html;chaset=utf-8;'}); if(request.url!=='/favicon.ico'){ otherfun(response);//支持一個(gè)函數(shù)時(shí) response.end(''); } }).listen(8000); // 終端打印如下信息 console.log('Server running at http://127.0.0.1:8000/');
otherfuns.js中
function fun2(res){ console.log('fun2'); res.write('你好!,我是fun2'); } module.exports = fun2;//只支持一個(gè)函數(shù)
------------(2)調(diào)用多個(gè)函數(shù)-----------
主程序中:
var http = require('http'); var otherfun = require("./models/otherfuns.js");//調(diào)用寫(xiě)函數(shù)的外部頁(yè)面otherfuns.js http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/html;chaset=utf-8;'}); if(request.url!=='/favicon.ico'){ //todo 以對(duì)象.方法名調(diào)用 otherfun.fun2(response); otherfun.fun3(response); //todo 以字符串調(diào)用對(duì)應(yīng)函數(shù)(結(jié)果同上) //otherfun['fun2'](response); //otherfun['fun3'](response); response.end(''); } }).listen(8000); // 終端打印如下信息 console.log('Server running at http://127.0.0.1:8000/'); }
otherfuns.js中
module.exports={ fun2:function(res){//匿名函數(shù) console.log('fun2'); res.write('你好!,我是fun2');//在頁(yè)面中輸出 }, fun3:function(res){ console.log('fun3'); res.write('你好!,我是fun3'); }, ...... }
四、nodejs路由初步
主程序n4_rout.js:
var http = require('http'); //引入url模塊 var url = require('url'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/html;chaset=utf-8;'}); if(request.url!=='/favicon.ico'){ var pathname = url.parse(request.url).pathname; pathname=pathname.replace(/\//,'');//替換掉前面的/ console.log(pathname); response.end(''); } }).listen(8000); // 終端打印如下信息 console.log('Server running at http://127.0.0.1:8000/');
在命令行cmd中執(zhí)行該文件,在訪(fǎng)問(wèn):http://localhost:8000/,在此輸入路由地址,如下圖,并觀察命令行。
五、nodejs讀取文件
主程序:
var http = require('http'); var optfile=require('./models/optfile');//導(dǎo)入文件 http.createServer(function (request, response) { // 發(fā)送 HTTP 頭部 // HTTP 狀態(tài)值: 200 : OK // 內(nèi)容類(lèi)型: text/html response.writeHead(200, {'Content-Type': 'text/html;chaset=utf-8;'}); if(request.url!=='/favicon.ico'){//清除第2次訪(fǎng)問(wèn) optfile.readfileSync('./views/login.html');//同步調(diào)用讀取文件readfileSync()方法 //optfile.readfile('./views/login.html',response);//異步步調(diào)用讀取文件readfile()方法 response.end('ok!!!!!');//todo 不寫(xiě)沒(méi)有協(xié)議尾 console.log('主程序執(zhí)行完畢!'); } }).listen(8000); // 終端打印如下信息 console.log('Server running at http://127.0.0.1:8000/');
optfile.js中:
var fs=require('fs');//Node 導(dǎo)入文件系統(tǒng)模塊(fs)語(yǔ)法 導(dǎo)入fs操作文件的類(lèi) module.exports={ readfileSync:function(path){ // 同步讀取 var data = fs.readFileSync(path,'utf-8');//以中文讀取同步文件路徑path console.log("同步方法執(zhí)行完畢。"); }, readfile:function(path){ // 異步讀取 fs.readFile(path,function (err, data) { if (err) { console.error(err); }else{ console.log("異步讀取: " + data.toString()); } }); console.log("異步方法執(zhí)行完畢。"); }, }
結(jié)果:命令行cmd中
(1)同步讀取文件時(shí):
(2)異步讀取文件時(shí):(常用)
網(wǎng)頁(yè)中:均為:
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
- nodejs基礎(chǔ)知識(shí)
- NodeJS遍歷文件生產(chǎn)文件列表功能示例
- Linux下Nodejs安裝步驟(完整詳細(xì))
- nodeJS刪除文件方法示例
- nodejs連接mongodb數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪改查
- Nodejs 搭建簡(jiǎn)單的Web服務(wù)器詳解及實(shí)例
- nodejs微信公眾號(hào)支付開(kāi)發(fā)
- Nodejs抓取html頁(yè)面內(nèi)容(推薦)
- nodejs如何獲取時(shí)間戳與時(shí)間差
- NodeJS與HTML5相結(jié)合實(shí)現(xiàn)拖拽多個(gè)文件上傳到服務(wù)器的實(shí)現(xiàn)方法
- Nodejs全局安裝和本地安裝的不同之處
- Nodejs如何搭建Web服務(wù)器
相關(guān)文章
node.js爬取中關(guān)村的在線(xiàn)電瓶車(chē)信息
這篇文章主要給大家介紹了關(guān)于利用node.js如何爬取中關(guān)村的在線(xiàn)電瓶車(chē)信息的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用node.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11我的Node.js學(xué)習(xí)之路(四)--單元測(cè)試
在專(zhuān)業(yè)化的軟件開(kāi)發(fā)過(guò)程中,無(wú)論什么平臺(tái)語(yǔ)言,現(xiàn)在都需要UnitTest單元測(cè)試. Node.js有built-in的Assert。 今天讓我們來(lái)看一下Node.js的單元測(cè)試。在這兒我們使用nodeunit2014-07-07nodejs實(shí)現(xiàn)遍歷文件夾并統(tǒng)計(jì)文件大小
這篇文章主要介紹了nodejs實(shí)現(xiàn)遍歷文件夾并統(tǒng)計(jì)文件大小,下面使用nodejs的遍歷文件夾文件內(nèi)容,并且讀取所有的文件,并采取排序往大到小的順序進(jìn)行輸出,需要的朋友可以參考下2015-05-05Nodejs探秘之深入理解單線(xiàn)程實(shí)現(xiàn)高并發(fā)原理
這篇文章主要介紹了Nodejs單線(xiàn)程實(shí)現(xiàn)高并發(fā)原理,對(duì)Node.js感興趣的同學(xué),可以參考下2021-04-04詳解如何使用koa實(shí)現(xiàn)socket.io官網(wǎng)的例子
這篇文章主要介紹了詳解如何使用koa實(shí)現(xiàn)socket.io官網(wǎng)的例子,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11Node使用koa2實(shí)現(xiàn)一個(gè)簡(jiǎn)單JWT鑒權(quán)的方法
這篇文章主要介紹了Node使用koa2實(shí)現(xiàn)一個(gè)簡(jiǎn)單JWT鑒權(quán)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01