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)文章
Nestjs自定義注解實(shí)現(xiàn)接口權(quán)限控制詳解
這篇文章主要為大家介紹了Nestjs自定義注解實(shí)現(xiàn)接口權(quán)限控制詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12深入理解Puppeteer的入門(mén)教程和實(shí)踐
這篇文章主要介紹了深入理解Puppeteer的入門(mén)教程和實(shí)踐,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03Koa2微信公眾號(hào)開(kāi)發(fā)之消息管理
這篇文章主要介紹了Koa2微信公眾號(hào)開(kāi)發(fā)之消息管理,這一節(jié)我們就來(lái)看看公眾號(hào)的消息管理。并實(shí)現(xiàn)一個(gè)自動(dòng)回復(fù)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05node+express+axios實(shí)現(xiàn)單文件上傳功能
這篇文章主要為大家詳細(xì)介紹了node+express+axios實(shí)現(xiàn)單文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08node將geojson轉(zhuǎn)shp返回給前端的實(shí)現(xiàn)方法
這篇文章主要介紹了node將geojson轉(zhuǎn)shp返回給前端的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05NodeJs內(nèi)存占用過(guò)高的排查實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于NodeJs內(nèi)存占用過(guò)高的排查實(shí)戰(zhàn)記錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05