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

首頁 > 編程 > JavaScript > 正文

Nodejs的express使用教程

2019-11-20 11:12:15
字體:
來源:轉載
供稿:網友

Express 是一個簡潔、靈活的 node.js Web 應用開發框架, 它提供一系列強大的特性,幫助你創建各種 Web 和移動設備應用。

1.express組織結構

app demo

    |---node_modules------用于安裝本地模塊。
    |---public------------用于存放用戶可以下載到的文件,比如圖片、腳本、樣式表等。
    |---routes------------用于存放路由文件。
    |---views-------------用于存放網頁的模板。
    |---app.js------------應用程序的啟動腳本。
    |---package.json------項目的配置文件。

2..創建express服務器

//app.js文件var express = require('express');var app = express();//指定更目錄顯示的內容app.get('/', function(req, res){ res.send('Hello World');});//指定監聽端口var server = app.listen(3000, function() {  console.log('Listening on port %d', server.address().port);});

運行nodejs應用程序

/>node app.js

3.中間件

中間件(middleware)就是處理HTTP請求的函數.
當一個HTTP請求進入服務器,服務器實例會調用第一個中間件,完成后根據設置,決定是否再調用下一個中間件.

中間件的參數為:

.四個的時候---第一個為錯誤處理,第二個為客戶請求request,第三個為服務器響應respond,第四個為next中間件. 如function(error, request, response, next){}
.三個的時候---第一個客戶請求request,第二個為服務器響應respond,第三個為next中間件. 如function(request, response, next){}
.兩個的時候---第一個客戶請求request,第二個為服務器響應respondfunction. 如function(request, response){}

4.使用中間件use

use是express調用中間件的方法,它返回一個函數.

app.use(function(request, response) { response.writeHead(200, { "Content-Type": "text/plain" }); response.end("Hello world!/n");});

5.錯誤內容顯示

app.use(express.bodyParser());//使用body參數app.use(express.methodOverride());//使用函數覆蓋app.use(app.router);//使用路由app.use(function(err, req, res, next){ console.error(err.stack); res.send(500, 'Something broke!');});//錯誤內容顯示

6.路由

express路由的方式有多種,這里舉例常用的幾種:

.app.use('/', middleware);//get/post時,對于路徑/的處理
.app.get("/", middleware);//http中get時,對于路徑/的處理
.app.post("/", middleware);//http中post時,對于路徑/的處理
.app.put("/", middleware);//http中put時,對于路徑/的處理
.app.delete("/", middleware);//http中delete時,對于路徑/的處理

7.路徑通配符*

.*表示所有路徑

app.get("*", function(request, response) { response.end("404!");});//所有路徑都返回404

.:捕獲路徑內容

app.get("/hello/:who", function(req, res) { res.end("Hello, " + req.params.who + ".");});//如"/hello/alice”網址,網址中的alice將被捕獲,作為req.params.who屬性的值

8.設置環境變量set

set用于指定變量的值.
app.set("view engine", "ejs");//使用ejs作為模版

9.response對象方法

.重定向redirect

    response.redirect("/hello/anime");//重定向到/hello/anime

.發送文件sendFile

   response.sendFile("/path/to/anime.mp4");

.渲染網頁模板render,即把變換的內容加載到網頁.
    response.render("index", { message: "Hello World" });//將message變量傳入index模板,值為"Hello World"渲染成HTML網頁

10.requst對象方法

.獲取客戶ip地址:request.ip

.獲取上傳的文件:request.files

11.啟動腳本package.json

package.json用于指定app信息,nodejs版本號和其他組件的依賴關系

{  "name": "demo",  "description": "My First Express App",  "version": "0.0.1",  "dependencies": {   "express": "3.x"  }}

12.app入口app.js

app.js主要包含http的創建,基本路由,監聽端口號

13.動態網頁模板views

views文件夾,用于存放所有的放網頁模板.

//app.jsapp.get('/', function(req, res) {  res.render('index',{title:"最近文章"});});//index.jsthis is <%=title%>!

14.指定靜態網頁目錄

//app.js
app.use(express.static('public'));//指定靜態網頁目錄,當瀏覽器發出非HTML文件請求時,服務器端就到public目錄尋找這個文件

如:<link href="/bootstrap/css/bootstrap.css" rel="stylesheet">, 服務器端就到public/bootstrap/css/目錄中尋找bootstrap.css文件

好了,本教程先給大家介紹到這里,后續還會持續給大家更新,謝謝大家一直以來對武林網網站的支持。!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合江县| 轮台县| 水富县| 北安市| 北海市| 东乌珠穆沁旗| 新平| 治县。| 九江县| 徐闻县| 甘泉县| 新蔡县| 湘西| 台北县| 阿拉尔市| 麻栗坡县| 英超| 白银市| 都昌县| 乐都县| 巫溪县| 连江县| 图木舒克市| 大悟县| 洛扎县| 贞丰县| 东辽县| 连云港市| 井研县| 彭水| 富锦市| 亚东县| 永善县| 广东省| 汉川市| 贵德县| 襄汾县| 竹溪县| 平阴县| 敦煌市| 富民县|