ExpressJS入門(mén)實(shí)例
一、我們創(chuàng)建項(xiàng)目目錄。
> md hello-world
二、進(jìn)入此目錄,定義項(xiàng)目配置文件package.json。
為了準(zhǔn)確定義,可以使用命令:
D:\tmp\node\hello-world> npm info express version
npm http GET https://registry.npmjs.org/express
npm http 200 https://registry.npmjs.org/express
3.2.1
現(xiàn)在知道ExpressJS框架的最新版本為3.2.1,那么配置文件為:
{
"name": "hello-world",
"description": "hello world test app",
"version": "0.0.1",
"private": true,
"dependencies": {
"express": "3.2.1"
}
}
三、使用npm安裝項(xiàng)目依賴(lài)的包。
> npm install
一旦npm安裝依賴(lài)包完成,項(xiàng)目根目錄下會(huì)出現(xiàn)node_modules的子目錄。項(xiàng)目配置所需的express包都存放于這里。如果相驗(yàn)證,可以執(zhí)行命令:
> npm ls
PS D:\tmp\node\hello-world> npm ls
npm WARN package.json hello-world@0.0.1 No README.md file found!
hello-world@0.0.1 D:\tmp\node\hello-world
└─┬ express@3.2.1
├── buffer-crc32@0.2.1
├── commander@0.6.1
├─┬ connect@2.7.7
│ ├── bytes@0.2.0
│ ├── formidable@1.0.13
│ └── pause@0.0.1
├── cookie@0.0.5
├── cookie-signature@1.0.1
├── debug@0.7.2
├── fresh@0.1.0
├── methods@0.0.1
├── mkdirp@0.3.4
├── qs@0.6.1
├── range-parser@0.0.4
└─┬ send@0.1.0
└── mime@1.2.6
此命令顯示了express包及其依賴(lài)關(guān)系。
四、創(chuàng)建應(yīng)用程序
現(xiàn)在開(kāi)始創(chuàng)建應(yīng)用程序自身。創(chuàng)建一個(gè)名為app.js或server.js的文件,看你喜歡,任選一個(gè)。引用express,并使用express()創(chuàng)建一個(gè)新應(yīng)用:
// app.js
var express = require('express');
var app = express();
接著,我們可以使用app.動(dòng)詞()定義路由。
比如使用"GET /"響應(yīng)"Hello World"字符串,因?yàn)閞es、req都是Node提供的準(zhǔn)確的對(duì)象,因此你可以調(diào)用res.pipe()或req.on('data', callback)或者其它。
app.get('/hello.txt', function(req, res){
var body = 'Hello World';
res.setHeader('Content-Type', 'text/plain');
res.setHeader('Content-Length', body.length);
res.end(body);
});
ExpressJS框架提供了更高層的方法,比如res.send(),它可以省去諸如添加Content-Length之類(lèi)的事情。如下:
app.get('/hello.txt', function(req, res){
res.send('Hello World');
});
現(xiàn)在可以綁定和監(jiān)聽(tīng)端口了,調(diào)用app.listen()方法,接收同樣的參數(shù),比如:
五、運(yùn)行程序
現(xiàn)在運(yùn)行程序,執(zhí)行命令:
> node app.js
用瀏覽器訪問(wèn)地址:http://localhost:3000/hello.txt
可以看到輸出結(jié)果:
Hello World
相關(guān)文章
利用Node.js了解與測(cè)量HTTP所花費(fèi)的時(shí)間詳解
這篇文章主要給大家介紹了關(guān)于利用Node.js了解與測(cè)量HTTP所花費(fèi)的時(shí)間的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09
如何解決安裝websocket還是報(bào)錯(cuò)Cannot find module'ws&apos
這篇文章主要介紹了如何解決安裝websocket還是報(bào)Cannot find module'ws'問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
node.js利用express自動(dòng)搭建項(xiàng)目的全過(guò)程
這篇文章主要給大家介紹了關(guān)于node.js利用express自動(dòng)搭建項(xiàng)目的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
node通過(guò)express搭建自己的服務(wù)器
本篇文章主要介紹了node通過(guò)express搭建自己的服務(wù)器 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
教你用Node.js與Express建立一個(gè)GraphQL服務(wù)器
GraphQL是一種通過(guò)強(qiáng)類(lèi)型查詢(xún)語(yǔ)言構(gòu)建api的新方法,下面這篇文章主要給大家介紹了關(guān)于用Node.js與Express建立一個(gè)GraphQL服務(wù)器的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
Windows中徹底刪除Node.js環(huán)境(以及npm)的方法
本文詳細(xì)介紹了如何在Windows電腦中徹底刪除Node.js環(huán)境,包括查找安裝路徑、使用控制面板卸載以及手動(dòng)刪除殘留文件夾2025-01-01
node?NPM庫(kù)增強(qiáng)版globby?Promise使用學(xué)習(xí)
這篇文章主要為大家介紹了node?NPM庫(kù)增強(qiáng)版globby?Promise使用學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
nodejs中使用archive壓縮文件的實(shí)現(xiàn)代碼
這篇文章主要介紹了nodejs中使用archive壓縮文件的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
nodeJS服務(wù)器的創(chuàng)建和重新啟動(dòng)的實(shí)現(xiàn)方法
今天小編就為大家分享一篇nodeJS服務(wù)器的創(chuàng)建和重新啟動(dòng)的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
node.js中的favicon.ico請(qǐng)求問(wèn)題處理
本文記錄了在項(xiàng)目中使用node.js請(qǐng)求favican.ico的時(shí)候會(huì)出現(xiàn)2條請(qǐng)求,浪費(fèi)資源,經(jīng)過(guò)一番改進(jìn),記錄下來(lái)過(guò)程,以后注意。2014-12-12

