国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

ExpressJS入門(mén)實(shí)例

2019-11-20 13:24:30
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、我們創(chuàng)建項(xiàng)目目錄。

復(fù)制代碼 代碼如下:

> md hello-world

二、進(jìn)入此目錄,定義項(xiàng)目配置文件package.json。
為了準(zhǔn)確定義,可以使用命令:
復(fù)制代碼 代碼如下:

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,那么配置文件為:
復(fù)制代碼 代碼如下:


    "name": "hello-world", 
    "description": "hello world test app", 
    "version": "0.0.1", 
    "private": true, 
    "dependencies": { 
        "express": "3.2.1" 
    } 

三、使用npm安裝項(xiàng)目依賴(lài)的包。

復(fù)制代碼 代碼如下:

> npm install

一旦npm安裝依賴(lài)包完成,項(xiàng)目根目錄下會(huì)出現(xiàn)node_modules的子目錄。項(xiàng)目配置所需的express包都存放于這里。如果相驗(yàn)證,可以執(zhí)行命令:
復(fù)制代碼 代碼如下:

> 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)用:

復(fù)制代碼 代碼如下:

// 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)或者其它。

復(fù)制代碼 代碼如下:

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)的事情。如下:

復(fù)制代碼 代碼如下:

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í)行命令:

復(fù)制代碼 代碼如下:

> node app.js

用瀏覽器訪問(wèn)地址:http://localhost:3000/hello.txt
可以看到輸出結(jié)果:
復(fù)制代碼 代碼如下:

Hello World

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 信阳市| 咸宁市| 淄博市| 孝昌县| 丰台区| 平利县| 乌兰县| 秦安县| 博兴县| 柏乡县| 普兰县| 资溪县| 沙雅县| 广平县| 广南县| 绵阳市| 高青县| 昌宁县| 抚宁县| 赫章县| 长治市| 桃园县| 海口市| 佛教| 庆元县| 扶风县| 阜平县| 武平县| 安阳市| 将乐县| 修水县| 东山县| 肇庆市| 武山县| 偃师市| 凤凰县| 马龙县| 新野县| 肥东县| 逊克县| 盱眙县|