淺談Nodejs應(yīng)用主文件index.js
前言
經(jīng)過之前的文章 《淺談Nodejs應(yīng)用的主文件index.js的組成部分》 ,終于認識了 Node 妹子的容顏,然后好像上呀<( ̄︶ ̄)>。呦西~這次讓本屌在她胴體上游走一番,想想也是不錯滴。嗯哼,YY到此為止。
正文
這篇文章主要以組成部分為單位了解一下 index.js 這個主文件...皮膚有多滑( ̄▽ ̄)~
既然之前說過了index.js的組成部分,那么這次就一個組一個組的說。沒錯!本帥的手,怎么能放過你的每一寸肌膚!
一、引入依賴模塊
嗯..就像這樣:
var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser');
其實啊,依賴模塊就是字面的意思。
用前端工程師的話來說,就是$("#id").attr("class","active")這句代碼沒有Jquery就轉(zhuǎn)不起來。
用動物的話來說,沒有食物就活不下去了。
用本屌的話來說,沒有妹子也活不下去了。
嗯哼~綜上所述,依賴就是 為接下來要做的事做好能完成該事的準備 。所以上面那些“拼音”都是扮演這種角色的..
二、設(shè)置相關(guān)配置
獻上該組相關(guān)代碼:
// 視圖引擎設(shè)置 app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade');
額..就兩行代碼,胸比較小(  ̄﹏ ̄),畢竟蘿莉嘛,啊哈哈哈。
上面兩行代碼就是設(shè)置試圖目錄并設(shè)置 jade 為試圖引擎。設(shè)置的多少取決于你要用哪些模塊,有的模塊也有默認設(shè)置,但為了自己編寫方便,肯定會設(shè)置成自己喜歡的樣子。
三、中間件
//中間件 app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public')));
中間件,嚴格來說index.js中每一行都是中間件,我估計好多兄弟雖然知道中間件這個詞,但還是不了解到底是什么意思,它主要是干嘛的。
所以,本屌親自著手畫了一幅宇宙僅有的一張圖:
我相信聰明的人一下就能看懂了,畢竟本屌的畫拿出去賣也能值個5毛錢。
正經(jīng)話:左邊大箭頭是指代碼執(zhí)行順序,誰都知道 Js 是從上往下執(zhí)行的,這里為了好解釋中間件,把大箭頭看成水流。
而在水流往下流的過程中,有個類似濾網(wǎng)的東西在中間卡了一層,本屌突然想到了處女膜是不是也這樣(啊呸,思想又不正了 ̄▽ ̄)。
黑色的濾網(wǎng),就是上面那段代碼,中間件的作用就是在執(zhí)行主線代碼過程前、過程中、過程后的警察、門衛(wèi)或者引導者。舉個栗子,比如使用 bodyParser 中間件,它的作用就是解析 HTTP 請求的 body 數(shù)據(jù)解析,方便在路由中使用, cookie-parser 也是一樣的道理。
在圖中兩個濾網(wǎng)中間部分,一般為路由,由它來負責返回客戶端想要的頁面。
這時候,眼尖的就問了,下面那個中間件為什么是紅色的?而且為什么要放在路由后面執(zhí)行?
問的好!我正要說呢。 熟悉Node開發(fā)的小伙伴都知道,大部分中間件一般寫在路由之前,但是有時候避免不了一些不確定的錯誤,比如用戶訪問的頁面不存在怎么辦?開發(fā)版本錯誤或者正式版本錯誤了怎么辦? 這個時候就輪到“紅色”中間件出場了,沒錯,它主要負責善后的,一般用來處理可能發(fā)生的錯誤。
四、路由
//路由 app.use('/', routes); app.use('/users', users);
路由可是個好人啊,客戶端只需發(fā)送請求,路由就會根據(jù)請求 url 盡力的去幫你解決請求,它可以用不同的方式( get 、 post 、 put 、 del ...)去處理數(shù)據(jù)或者返回你想要的頁面??傊莻€有問盡力回的好銀~ 其實路由也是中間件,只是它應(yīng)該作為一個獨立的組成部分更好。
五、開啟服務(wù)
//啟動服務(wù) http.createServer(app).listen(app.get('port'), function () { console.log('服務(wù)啟動成功,端口為:'+app.get('port')); });
啊哈哈哈哈,終于到高潮了,Node妹子快不行了<( ̄︶ ̄)>
額。。。好像也沒什么好說的,就是開啟服務(wù)了。。。。。。好吧,開啟服務(wù)前,要通過 http.createServer() 創(chuàng)建一個服務(wù),然后調(diào)用 listen() 方法即可開啟。這樣整個應(yīng)用就開啟啦~~~ 本屌那幅神圖中的大箭頭也可以順暢的捅進去了。。進去了。。去了。。了。
- nodejs實現(xiàn)遍歷文件夾并統(tǒng)計文件大小
- nodejs文件操作模塊FS(File System)常用函數(shù)簡明總結(jié)
- NodeJS學習筆記之FS文件模塊
- nodejs 實現(xiàn)模擬form表單上傳文件
- Nodejs中讀取中文文件編碼問題、發(fā)送郵件和定時任務(wù)實例
- nodejs批量修改文件編碼格式
- Nodejs如何復制文件
- NodeJS Web應(yīng)用監(jiān)聽sock文件實例
- 實例詳解Nodejs 保存 payload 發(fā)送過來的文件
- NodeJs讀取JSON文件格式化時的注意事項
- NodeJS與HTML5相結(jié)合實現(xiàn)拖拽多個文件上傳到服務(wù)器的實現(xiàn)方法
- NodeJS使用formidable實現(xiàn)文件上傳
- NodeJS遍歷文件生產(chǎn)文件列表功能示例
相關(guān)文章
Express實現(xiàn)Session身份認證的示例代碼
本文主要介紹了Express實現(xiàn)Session身份認證的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-01-01Windows系統(tǒng)下Node.js的簡單入門教程
這篇文章主要介紹了Windows系統(tǒng)下Node.js的簡單入門教程,Node.js是用于后端編程的JavaScript框架,需要的朋友可以參考下2015-06-06詳解nodejs微信公眾號開發(fā)——1.接入微信公眾號
本篇文章主要介紹了詳解nodejs微信公眾號開發(fā)——1.接入微信公眾號,非常具有實用價值,需要的朋友可以參考下2017-04-04使用PM2實現(xiàn)高效的應(yīng)用監(jiān)控與管理功能
PM2?是一個流行的進程管理器,用于?Node.js?應(yīng)用程序,它支持應(yīng)用程序的負載均衡、自動重啟、日志管理、監(jiān)控以及多環(huán)境管理等功能,本文給大家介紹了如何使用PM2實現(xiàn)高效的應(yīng)用監(jiān)控與管理功能,需要的朋友可以參考下2024-02-02總結(jié)Node.js中9種fs模塊文件操作方法(文件夾遞歸刪除知識)
這篇文章主要介紹了總結(jié)Node.js中9種fs模塊文件操作方法(文件夾遞歸刪除知識),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-07-07