nodejs入門和企業(yè)級項目開發(fā)第2天案例筆記_第1頁
nodejs入門和企業(yè)級項目開發(fā)第2天案例筆記_第2頁
nodejs入門和企業(yè)級項目開發(fā)第2天案例筆記_第3頁
nodejs入門和企業(yè)級項目開發(fā)第2天案例筆記_第4頁
nodejs入門和企業(yè)級項目開發(fā)第2天案例筆記_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

愛創(chuàng)課課程標(biāo)第**天課堂筆記(本課程共**天班級:前端**期日期:2016**月**愛創(chuàng)課堂官網(wǎng):愛創(chuàng)課 課程標(biāo) 一、上節(jié)課知識復(fù) 二、GET請求和POST請 GET請 POST請 三、自定義模 exports向外module.exports向外node_modules文件 連續(xù) 四、 安裝 依 五、文件上 六、 Express整體感 URL的參 中間 一、上節(jié)課知識復(fù)REPLRead-Eval-Print-Loop,在cmd中輸入nodenodeREPL123456789//引varhttp=//創(chuàng)建123456789//引varhttp=//創(chuàng)建一個服務(wù)varserver=//當(dāng)有用的時候,做的事123456789varserver=//querystring、varpathname=123456789varserver=//querystring、varpathname=case"/"casecase"/movie"case"/movie/"case"/movie/index.html"}123456789123456789 }SingleThread Non-blockingI/OI/OEventEvent Noe.js平民化PBG0個用戶。S走了一個,用1個線程就服務(wù)了所有用戶。減少了內(nèi)存開銷,效率是第一次提升。DS此時又抖了一個機靈。就是A去O了,我就給B務(wù),B也O就給C務(wù),此時A的O完成了,有一個環(huán),能夠合理排,發(fā)現(xiàn)D等待時間太長,所以先處理,然后解決A的回調(diào),B的回調(diào),C的回調(diào),D的回調(diào)。所以阻塞/、驅(qū)動是單線程必須的條件。MIMEtext/html、image/jpeg……//如果用戶用戶的沒有最后的斜杠,重定res.writeHead(302,{'Location':pathname+"/"二、GET請求和POST請GET請QueryString、Path、URLURL varquerystringObj varquerystringObj=POST請post請求是在HTTP的request的報文頭中寫內(nèi)容。性強、寫大文件123postreqdataon可123 123當(dāng)所有內(nèi)容傳輸完畢之后,觸發(fā)req的end,同樣的,用on12312server=vardata=3456data+=dhunk.toString();//把每個小段落合起789}vardataObj=三、自定義模昨天我們用require的都是內(nèi)置模塊,模塊叫做modulejsmodulejsjs文module。我們可以自定義一些js文件,在其他js文件中,在不同js文件中實現(xiàn)不同功能認(rèn)識require()函 <scriptrequire() <script 執(zhí)行require什么 執(zhí)行每個js文件都是獨立的作用域,a.js了b.js,a里面定義了haha,b看不見haha的。和HTML中不同,HTMLscriptwindowb.jsa.js的內(nèi)容,因為本質(zhì)window的屬性傳遞數(shù)據(jù)。 定義了一 看不aexports 這對象表示自己的對外 vara vara=exports.a=exports.b七夕vartest1=在它的地方,誰接收它,誰就是vartest1=123456789123456789exports.sum=returna+}exports.min=varmin=for(vari=0;i<arr.length;i++){if(arr[i]<min){min=}}return}: vartest1= module.exports 如果一個js文件只向外一個東西,就是接收它的變量,就是exports值,而不需打點調(diào)用什么屬性。 vara= module.exports=vartest2=console.log(test2);vartest2=console.log(test2);1234123456789varfs=functionPeople(name,==;this.age=}Ptotype.save=function(callback){varstr="";str+= :"++str+= :"++str+= :"+this.age+str+="*****************"+"\n";}module.exports=12123456789varPeople=varxiaomingnew }node_modules文件 同 的a.js文 其實不一定放到我們的項 ArequireB文件,BrequireCArequireBBrequireA四、安裝npm全程nodepackagemanager,node包管理器。其他人開發(fā)了一些包,給別人使用,就可以通過來。今后的每一天都用它NPM的全稱是NodePackage ,是一個NodeJS包管理和分發(fā)工具,已經(jīng)成為了非的發(fā)Node模塊(包)Nodejs的是,Nodejs庫和框架為我們提供了幫助,讓我們減少工作量。但是成百上千的庫或者框架管理起來又很麻煩,有了NPM,可以很快的找到特定服務(wù)要使用的包,進(jìn)行、安裝以及管理已經(jīng)安裝的包。官網(wǎng) 1node.jsnpmcmd1在網(wǎng)絡(luò)暢通的情況下,npm管理器會自動幫你包到當(dāng)前提示符路徑里面的node_modules文件夾中包又幫你了其他包,就是說包又有自己的依賴依當(dāng)我們了一個包之后,你會發(fā)現(xiàn)這個包不能和我們脫離關(guān)系了,這個包一旦刪除,我們的程序就會錯誤。1node.jspackage.json管理所有的包信息。最重要的,就是管理依賴。112345123456789{"name": //包名"version": //版"description":"node.js第2天的案例項目,很 啊",//描"main":"01_跑一個服務(wù)器.js", 文"dependencies":"average":"dateformat"://依//依賴的版"": "案例,愛前端"author":"考拉"license"://作//開源協(xié)}API:http package.json就是包的11就會根據(jù)你的package.json里面的依賴,安裝依賴。并且還會安裝依賴的依賴,依賴的依賴的依賴1之后的每一個包,記加-save。-save能夠幫你自動更改依賴1npm是一個怎樣的世界,就是我用你的,你用我的。千萬不要座,站在別人的肩膀上五、文件上 npmformidable 1234512345678varform=form.parse(req,function(err,fields,files)//所有的文本域,都已經(jīng)變成fields對象//從今天開始,就不用寫.on("data").on("end")了12123456789varform=置form.uploadDir=form.parse(req,function(err,fields,files)fields從今天開始,就不用寫.on("data").on("end")//files//console.log(files.zhaopian.path);varnow=newDate();varwenjianming=dateFormat(now,"yyyymmddHHMMss")+*+ postformidable,不用寫.on(“data”).on(“end”)六、Express是一個基于Node.js平臺的極簡、靈活的web應(yīng)用開發(fā)框架,它提供一系列強大的特性,幫助你創(chuàng)建各種Web和移動設(shè)備應(yīng)用。Express整體感Node.jsHTTP服務(wù)最不方便的:1)if(req.url==){}elseif{}2)Express官網(wǎng) 1123456789//varexpress=//創(chuàng)建一個app,之后就是使用這個appvarapp=//app.get("/movie",123app.get("/movie",if(req.url123app.get("/movie",這個表示用get請求/movie頁面做的事情。實際都是能的sendContent-Type:text/htmlcharset=utf-8URL的參123app.get("/movie/:bianhao",res.send("歡迎來看編號為req.params.bianhao+

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論