express框架-初學(xué)



#如果權(quán)限不夠可以在前面加sudo

--------------------------------------------- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?express輸出“hello world”

var express = require('express');

var app = express();

//req (請(qǐng)求),res (相應(yīng))裆蒸,/是指對(duì)于首頁(yè)的url返回“Hello World”,方法為get

//get是指從服務(wù)器端獲取數(shù)據(jù)拦宣,post則是發(fā)送數(shù)據(jù)到服務(wù)端,下面圖片有類似例子。

app.get('/', function (req, res) {

res.send('Hello World!');

});

//設(shè)置一個(gè)監(jiān)聽器,端口號(hào)為3000吓坚,服務(wù)端調(diào)用function()函數(shù)

var server = app.listen(3000, function () {

var host = server.address().address;

var port = server.address().port;

console.log('Example app listening at http://%s:%s', host, port);

});


一些路由的實(shí)例

-------------------------------------------

? ? ? ? ? ? ? ? ? ? ? ? ? 建立一個(gè)express框架

!!!!!!!強(qiáng)烈注意:如果輸入命令行出現(xiàn)no directory........在命令行添加sudo(這是賦予管理員權(quán)限)

建立代碼如下:

$ npm install express-generator -g ? ?//先安裝express應(yīng)用生成器


$ express -h ? ?


-h選項(xiàng)可以列出所有可用的命令行選項(xiàng):

在當(dāng)前工作目錄下創(chuàng)建一個(gè)命名為myapp的應(yīng)用


安裝所有依賴包

? ? ? $ cd myapp

? ? ? $ npm install

啟動(dòng)這個(gè)應(yīng)用

? ? ? ? $ DEBUG=myapp npm start
? ? ? ? ? ? ?(MacOS 或 Linux 平臺(tái))

? ? ? > set DEBUG=myapp & npm start
? ? ? ? ? ? ? ? Windows 平臺(tái)

通過 Express 應(yīng)用生成器創(chuàng)建的應(yīng)用一般都有如下目錄結(jié)構(gòu):


然后在瀏覽器中打開http://localhost:3000/網(wǎng)址就可以看到這個(gè)應(yīng)用了。


myapp網(wǎng)頁(yè)顯示

-------------------------------------------

利用 Express 托管靜態(tài)文件


app.use(express.static('public'));

#意味public里面都是靜態(tài)文件灯荧,可以直接訪問如http://localhost:3000/images/kitten.jpg

#images是在public文件目錄下的

=富鳎可以設(shè)置多個(gè)靜態(tài)的目錄

ps:個(gè)人嘗試了下,直接去訪問目錄下的圖片逗载,不過不能訪問哆窿,所以只有靜態(tài)文件可以直接查看,或者設(shè)置路由

-------------------------------------------

ps:接下來是對(duì)express應(yīng)用生成器代碼的一些理解

? ? ? ? ? ? ? ? ? ? ? ? ?express應(yīng)用框架


全部文件厉斟,我們從左往右說明


-----app.js----------------------------

app.set('view engine', 'ejs') 為設(shè)置模板引擎為ejs

app.use(express.favicon())?是設(shè)置圖標(biāo)想修改的話就自己去搞public下面的images文件

app.use(express.logger('dev')); express依賴于connect這里就內(nèi)建中間件會(huì)輸出一些日志

app.use(express.json()); 用以解析請(qǐng)求體挚躯,這里就會(huì)把字符串動(dòng)態(tài)轉(zhuǎn)換為json對(duì)象

app.use(express.methodOverride()); connect內(nèi)建中間件,用以處理post請(qǐng)求擦秽,并可以偽裝put等http方法

app.use(app.router); 調(diào)用路由器解析規(guī)則

app.use(express.static(path.join(__dirname, 'public'))); connect內(nèi)建中間件码荔,設(shè)置根目錄下的public存放靜態(tài)文件

#懶的重新截圖= =

#next(err),把控制權(quán)交給下一個(gè)函數(shù)處理

-----bin/www.js---------------------------------------------




isNaN is a "is Not a Number" function

----public-------------------------------

存放靜態(tài)資源食侮。

-----routes-----------------------------


基本和上面的路由相似

這節(jié)我覺得必要說明的,唯一一點(diǎn)就是app.METHOD(path, [callback...], callback)目胡,app是express對(duì)象的一個(gè)實(shí)例锯七,METHOD是一個(gè)HTTP 請(qǐng)求方法,path是服務(wù)器上的路徑誉己,callback是當(dāng)路由匹配時(shí)要執(zhí)行的函數(shù)眉尸。



---other--------------

app.js 為入口文件

package.json 為模塊依賴文件,我們使用npm install時(shí)候他會(huì)以其配置在網(wǎng)上下載相關(guān)包

node_modules 為下載下來的模塊文件(package.json)

public 存放靜態(tài)資源文件

routes 存放路由文件

views 存放相關(guān)視圖模板文件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末巨双,一起剝皮案震驚了整個(gè)濱河市噪猾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌筑累,老刑警劉巖袱蜡,帶你破解...
    沈念sama閱讀 212,222評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異慢宗,居然都是意外死亡坪蚁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,455評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門镜沽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來敏晤,“玉大人,你說我怎么就攤上這事缅茉∽炱ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 157,720評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵蔬墩,是天一觀的道長(zhǎng)译打。 經(jīng)常有香客問我,道長(zhǎng)拇颅,這世上最難降的妖魔是什么奏司? 我笑而不...
    開封第一講書人閱讀 56,568評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮蔬蕊,結(jié)果婚禮上结澄,老公的妹妹穿的比我還像新娘。我一直安慰自己岸夯,他們只是感情好麻献,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,696評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著猜扮,像睡著了一般勉吻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上旅赢,一...
    開封第一講書人閱讀 49,879評(píng)論 1 290
  • 那天齿桃,我揣著相機(jī)與錄音惑惶,去河邊找鬼。 笑死短纵,一個(gè)胖子當(dāng)著我的面吹牛带污,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播香到,決...
    沈念sama閱讀 39,028評(píng)論 3 409
  • 文/蒼蘭香墨 我猛地睜開眼鱼冀,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了悠就?” 一聲冷哼從身側(cè)響起千绪,我...
    開封第一講書人閱讀 37,773評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎梗脾,沒想到半個(gè)月后荸型,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,220評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡炸茧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,550評(píng)論 2 327
  • 正文 我和宋清朗相戀三年瑞妇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宇立。...
    茶點(diǎn)故事閱讀 38,697評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡踪宠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出妈嘹,到底是詐尸還是另有隱情,我是刑警寧澤绍妨,帶...
    沈念sama閱讀 34,360評(píng)論 4 332
  • 正文 年R本政府宣布润脸,位于F島的核電站,受9級(jí)特大地震影響他去,放射性物質(zhì)發(fā)生泄漏毙驯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,002評(píng)論 3 315
  • 文/蒙蒙 一灾测、第九天 我趴在偏房一處隱蔽的房頂上張望爆价。 院中可真熱鬧,春花似錦媳搪、人聲如沸铭段。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,782評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)序愚。三九已至,卻和暖如春等限,著一層夾襖步出監(jiān)牢的瞬間爸吮,已是汗流浹背芬膝。 一陣腳步聲響...
    開封第一講書人閱讀 32,010評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留形娇,地道東北人锰霜。 一個(gè)月前我還...
    沈念sama閱讀 46,433評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像桐早,于是被迫代替她去往敵國(guó)和親癣缅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,587評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容