express 腳手架項目具體分析

序言:即便是在做前端宴合,但是還是對路由以及數據層面的操作抱有極大的熱情焕梅。或許我總覺得這些事情本身就是前端可以做的卦洽。后臺做的應該是更復雜的數據操作贞言。

項目的安裝和搭建

首先得配置node環(huán)境,安裝express包阀蒂。在這個地方我直接進行了全局安裝该窗,畢竟以后反正都可以使用嘛。


全局安裝
ps:用的公司的windows 這個命令行是真的丑蚤霞。

然后使用express <your_file_name>來生成模板項目了酗失。


生成模板

文件目錄

腳手架搭建的項目就完成了,接下來我們就來一一分析各個文件夾和文件的作用吧

項目的具體分析

package.json

我們先來看npm包配置昧绣,設置了scripts的start规肴,就可以知道項目的入口文件是.bin/www。這樣夜畴,我們就有了開始分析的地方拖刃。
.bin/www

可以看到,具體的操作并不是在這個地方實現的斩启,在這里引入了路由的配置序调。
var app = requier('.../app')
并且設置了路由的端口,初始化了服務兔簇,并且在端口上進行了監(jiān)聽发绢。
然后我們就進入app.js文件
app.js

可以看到,在這個地方就對express進行了實例化了.var app = express();
生成了express的實例垄琐。app.set(‘view’)就是在對模板引擎做的設置边酒。
此外,用到的最多的就是app.ues()
app.ues()的官網解釋

在官網上的app.ues() 的解釋就是把中間件掛載到相應的路由上狸窘。
根據掛載的位置墩朦,也就分了不同的中間件,有:
應用級中間件翻擒,路由級中間件氓涣,錯誤級中間件,第三方中間件陋气。
官網解釋地址
我的理解:應用級是掛載在app上面的劳吠,就是直接是express的實例上面的。
而路由級的是掛載在router上的巩趁,所以具體的路由是由相應的對照的痒玩。不是針對每一個路由的。
上述這些都是對于沒有指定path的情況,如果指定了path和method的話蠢古,就是在上面覆蓋的意思了
路由

然后在這里又看到了具體的路由指定奴曙,就進去app.js一看究竟
index.js

看到在這里實例的就不再是直接的express了,而是express.Router()
可使用 express.Router 類創(chuàng)建模塊化草讶、可掛載的路由句柄洽糟。Router 實例是一個完整的中間件和路由系統(tǒng),因此常稱其為一個 “mini-app”到涂。
這個地方實例的router就是用來在app.js中引用和使用的脊框,他就是一個模塊化颁督、可掛載的路由句柄践啄。
這個路由句柄是必須在app.js中加載和使用的。
app.use('/', indexRouter);
app.use('/users', usersRouter);
還會在使用的時候指定相應的路徑作為起始路徑沉御。
路由差不多就是這樣了屿讽,然后就是對轉到相應路由的方法做一個了解了。

界面渲染

res是一個響應對象吠裆,使用render方法進行模板渲染伐谈。

//有三種方法的渲染
// send the rendered view to the client
res.render('index');

// if a callback is specified, the rendered HTML string has to be sent explicitly
res.render('index', function(err, html) {
  res.send(html);
});

// pass a local variable to the view
res.render('user', { name: 'Tobi' }, function(err, html) {
  // ...
});

三個參數分別是模板的名稱、傳的參數和回調方法试疙。
一般現在在express推薦的模板好像是pug格式的诵棵,就是之前Jade的新名字。

差不多這就是我對express項目的一個初步的了解祝旷。純新手履澳,若有錯誤,造成誤解怀跛,以官網為準距贷。
ps:存在一點疑惑,不知道這個生成的模板是否支持es6語法吻谋。因為沒有找到對應的打包文件忠蝗,但是在試驗中好像支持箭頭函數。
pps:剛來公司漓拾,正好遇到才給我們做了培訓的前輩離職阁最,有點唏噓。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末骇两,一起剝皮案震驚了整個濱河市速种,隨后出現的幾起案子,更是在濱河造成了極大的恐慌脯颜,老刑警劉巖哟旗,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡闸餐,警方通過查閱死者的電腦和手機饱亮,發(fā)現死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來舍沙,“玉大人近上,你說我怎么就攤上這事》髡。” “怎么了壹无?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長感帅。 經常有香客問我斗锭,道長,這世上最難降的妖魔是什么失球? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任岖是,我火速辦了婚禮,結果婚禮上实苞,老公的妹妹穿的比我還像新娘豺撑。我一直安慰自己,他們只是感情好黔牵,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布聪轿。 她就那樣靜靜地躺著,像睡著了一般猾浦。 火紅的嫁衣襯著肌膚如雪陆错。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天跃巡,我揣著相機與錄音危号,去河邊找鬼。 笑死素邪,一個胖子當著我的面吹牛外莲,可吹牛的內容都是我干的。 我是一名探鬼主播兔朦,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼偷线,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沽甥?” 一聲冷哼從身側響起声邦,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎摆舟,沒想到半個月后亥曹,有當地人在樹林里發(fā)現了一具尸體邓了,經...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年媳瞪,在試婚紗的時候發(fā)現自己被綠了骗炉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡蛇受,死狀恐怖句葵,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情兢仰,我是刑警寧澤乍丈,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站把将,受9級特大地震影響轻专,放射性物質發(fā)生泄漏。R本人自食惡果不足惜秸弛,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一铭若、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧递览,春花似錦、人聲如沸瞳腌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嫂侍。三九已至儿捧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挑宠,已是汗流浹背菲盾。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留各淀,地道東北人懒鉴。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像碎浇,于是被迫代替她去往敵國和親临谱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348