Nodejs初階之express

Node和NPM的安裝夠便捷了,不細(xì)說...有幾點(diǎn)基礎(chǔ)順手提一下:

首先全局安裝express 和express-generator

  1. 安裝命令中的 “-g” 表示全局(global)

  2. express的版本不是通常的 “-v” 來查看逻炊,而是 “-V”

  3. 安裝express項(xiàng)目的命令如下
    express -e nodejs-product

    -e, --ejs add ejs engine support

    -J, --jshtml add jshtml engine support (defaults to jade)

    PS:模板引擎之類暫時(shí)不必care,不過俺當(dāng)初學(xué)習(xí)搭建Node+express時(shí)用的是ejs嗜历,所以也就順手一直用著了

Node的小基友supervisor  

每次修改代碼后會(huì)自動(dòng)重啟。懶程序員就指望這種省事省力的工具活著了:)

安裝:npm install -g supervisor

執(zhí)行:supervisor app.js

另一個(gè)小基友forever

虛擬機(jī)一關(guān)node服務(wù)就關(guān)了,不過forever可以讓node服務(wù)不停止,介紹如下枫弟,安裝和執(zhí)行不細(xì)說啦,我懶:

forever是一個(gè)簡(jiǎn)單的命令式nodejs的守護(hù)進(jìn)程鹏往,能夠啟動(dòng)淡诗,停止,重啟App應(yīng)用。forever完全基于命令行操作韩容,在forever進(jìn)程之下款违,創(chuàng)建node的子進(jìn)程,通過monitor監(jiān)控node子進(jìn)程的運(yùn)行情況群凶,一旦文件更新插爹,或者進(jìn)程掛掉,forever會(huì)自動(dòng)重啟node服務(wù)器请梢,確保應(yīng)用正常運(yùn)行递惋。
安裝

npm install forever -g

使用:

# 啟動(dòng)
forever start ./bin/www  #最簡(jiǎn)單的啟動(dòng)方式
forever start -l forever.log ./bin/www  #指定forever日志輸出文件,默認(rèn)路徑~/.forever
forever start -l forever.log -a ./bin/www  #需要注意溢陪,如果第一次啟動(dòng)帶日志輸出文件萍虽,以后啟動(dòng)都需要加上 -a 參數(shù),forever默認(rèn)不覆蓋原文件
forever start -o out.log -e err.log ./bin/www  #指定node.js應(yīng)用的控制臺(tái)輸出文件和錯(cuò)誤信息輸出文件
forever start -w ./bin/www  #監(jiān)聽當(dāng)前目錄下文件改動(dòng)形真,如有改動(dòng)杉编,立刻重啟應(yīng)用,不推薦的做法咆霜!如有日志文件邓馒,日志文件是頻繁更改的

# 重啟
forever restart ./bin/www  #重啟單個(gè)應(yīng)用
forever restart [pid]  #根據(jù)pid重啟單個(gè)應(yīng)用
forever restartall  #重啟所有應(yīng)用

# 停止(和重啟很類似)
forever stop ./bin/www  #停止單個(gè)應(yīng)用
forever stop [pid]  #根據(jù)pid停止單個(gè)應(yīng)用
forever stopall  #停止所有應(yīng)用

# 查看forever守護(hù)的應(yīng)用列表
forever list

express安裝
首先假定你已經(jīng)安裝了 Node.js,接下來為你的應(yīng)用創(chuàng)建一個(gè)目錄蛾坯,然后進(jìn)入此目錄并將其作為當(dāng)前工作目錄光酣。
生成目錄結(jié)構(gòu)

  npm install -g express
   npm install -g express-generator
 express -e xxx

express項(xiàng)目目錄  

image

如上圖就是一個(gè)express項(xiàng)目結(jié)構(gòu),簡(jiǎn)單過一下:

  • app.js: 項(xiàng)目入口脉课,反正express愛叫app.js沒轍救军,你可以改成index.js或者main.js都成。相當(dāng)于php項(xiàng)目中的 index.php倘零、index.html

  • node_modules: 存放項(xiàng)目的依賴庫(kù)

  • package.json: 項(xiàng)目依賴配置及開發(fā)者信息(這個(gè)要說就說多了唱遭,還是看文檔好,俺就不誤人子弟了呈驶。下期看看抽個(gè)小段單說Node模塊)

  • public: 靜態(tài)文件如 css,js,img (PS:俺其實(shí)習(xí)慣叫static)

  • routes: 路由文件(學(xué)習(xí)的重要攻克對(duì)象拷泽。尼瑪業(yè)務(wù)好不好,路由是關(guān)鍵)

  • Views: 頁(yè)面文件(Ejs或者jade的模板袖瞻,默認(rèn)是jade司致,俺這用Ejs,在初階練手最重要聋迎,所以都可以試試)

    打開View 文件發(fā)現(xiàn)index.ejs比較不習(xí)慣脂矫,所以對(duì)app.js進(jìn)行小改動(dòng):

  1. “app.set('view engine', 'ejs');” 變成 “app.engine('.html', ejs.__express);app.set('view engine', 'html');”

  2. 上一行出現(xiàn)的ejs變量需要require ejs模塊,增加代碼“var ejs = require('ejs');”

    最終的app.js如下:

image

代碼小解:  

app.set("port",3000)//設(shè)置端口號(hào)
app.set('views', path.join(__dirname, 'views')); //應(yīng)用程序視圖的目錄或目錄數(shù)組砌庄。 如果是數(shù)組羹唠,則按照它們?cè)跀?shù)組中出現(xiàn)的順序查找視圖奕枢。
app.engine(".html",ejs.__express) 
app.set('view engine', 'html');  //設(shè)置靜態(tài)模板類型(默認(rèn)為ejs)
app.use(express.json());
app.use(express.urlencoded({ extended: false })); //引入中間件接續(xù)json
app.get("/",routes.index) //使用不同的路由文件

路由

var express=require("express")
var router=express.Router()
var News=require("./news")


/**
 * 獲取消息列表
 */
router.get("/",(req,res)=>{
  res.render("index")
})
 
/**
 * java服務(wù)器發(fā)送消息json到消息推送服務(wù)器
 */
router.post("/list",(req,res)=>{
    var reqparams=req.body.items;
    console.log(reqparams)
    new News().onsendNewList(reqparams)
   // res.send("c")
})
module.exports=router
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市佩微,隨后出現(xiàn)的幾起案子缝彬,更是在濱河造成了極大的恐慌,老刑警劉巖哺眯,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谷浅,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡奶卓,警方通過查閱死者的電腦和手機(jī)一疯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來夺姑,“玉大人墩邀,你說我怎么就攤上這事≌嫡悖” “怎么了眉睹?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)废膘。 經(jīng)常有香客問我竹海,道長(zhǎng),這世上最難降的妖魔是什么丐黄? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任斋配,我火速辦了婚禮,結(jié)果婚禮上灌闺,老公的妹妹穿的比我還像新娘艰争。我一直安慰自己,他們只是感情好菩鲜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布园细。 她就那樣靜靜地躺著,像睡著了一般接校。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狮崩,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天蛛勉,我揣著相機(jī)與錄音,去河邊找鬼睦柴。 笑死诽凌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的坦敌。 我是一名探鬼主播侣诵,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼痢法,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了杜顺?” 一聲冷哼從身側(cè)響起财搁,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎躬络,沒想到半個(gè)月后尖奔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡穷当,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年提茁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片馁菜。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡茴扁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出汪疮,到底是詐尸還是另有隱情丹弱,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布铲咨,位于F島的核電站躲胳,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏纤勒。R本人自食惡果不足惜坯苹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望摇天。 院中可真熱鬧粹湃,春花似錦、人聲如沸泉坐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)腕让。三九已至孤钦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纯丸,已是汗流浹背偏形。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留觉鼻,地道東北人俊扭。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像坠陈,于是被迫代替她去往敵國(guó)和親萨惑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子捐康,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

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

  • 老規(guī)矩,開頭部分都是些自?shī)首詷返碾S想庸蔼,想到哪寫到哪... 到今天俺已經(jīng)在俺廠工作倆年零幾天了解总,工作以來頭一回在一家...
    Bigbang_boy閱讀 471評(píng)論 0 2
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,197評(píng)論 0 3
  • 搭建開發(fā)環(huán)境并模擬交互數(shù)據(jù) 一、實(shí)驗(yàn)說明 下述介紹為實(shí)驗(yàn)樓默認(rèn)環(huán)境朱嘴,如果您使用的是定制環(huán)境倾鲫,請(qǐng)修改成您自己的環(huán)境介...
    玄月府的小妖在debug閱讀 2,125評(píng)論 0 15
  • Express是Node社區(qū)里的超級(jí)明星乌昔,他的作者TJ Holowaychuk也因此成為了社區(qū)里大紅大紫的開發(fā)者。...
    2MuchT閱讀 3,003評(píng)論 1 30
  • 第一章 九二年十月九日壤追,這一天是個(gè)好天氣磕道,秋高氣爽,天空中飄著幾片云行冰,淡得幾乎看不見溺蕉。東...
    燈下看書閱讀 479評(píng)論 0 0