最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nodejs的express使用教程

 更新時(shí)間:2015年11月23日 10:54:30   投稿:mrr  
Express 是一個(gè)簡(jiǎn)潔、靈活的 node.js Web 應(yīng)用開發(fā)框架, 它提供一系列強(qiáng)大的特性,幫助你創(chuàng)建各種 Web 和移動(dòng)設(shè)備應(yīng)用,本篇文章給大家介紹nodejs的express使用教程,感興趣的朋友參考下

Express 是一個(gè)簡(jiǎn)潔、靈活的 node.js Web 應(yīng)用開發(fā)框架, 它提供一系列強(qiáng)大的特性,幫助你創(chuàng)建各種 Web 和移動(dòng)設(shè)備應(yīng)用。

1.express組織結(jié)構(gòu)

app demo

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

2..創(chuàng)建express服務(wù)器

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

運(yùn)行nodejs應(yīng)用程序

/>node app.js

3.中間件

中間件(middleware)就是處理HTTP請(qǐng)求的函數(shù).
當(dāng)一個(gè)HTTP請(qǐng)求進(jìn)入服務(wù)器,服務(wù)器實(shí)例會(huì)調(diào)用第一個(gè)中間件,完成后根據(jù)設(shè)置,決定是否再調(diào)用下一個(gè)中間件.

中間件的參數(shù)為:

.四個(gè)的時(shí)候---第一個(gè)為錯(cuò)誤處理,第二個(gè)為客戶請(qǐng)求request,第三個(gè)為服務(wù)器響應(yīng)respond,第四個(gè)為next中間件. 如function(error, request, response, next){}
.三個(gè)的時(shí)候---第一個(gè)客戶請(qǐng)求request,第二個(gè)為服務(wù)器響應(yīng)respond,第三個(gè)為next中間件. 如function(request, response, next){}
.兩個(gè)的時(shí)候---第一個(gè)客戶請(qǐng)求request,第二個(gè)為服務(wù)器響應(yīng)respondfunction. 如function(request, response){}

4.使用中間件use

use是express調(diào)用中間件的方法,它返回一個(gè)函數(shù).

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

5.錯(cuò)誤內(nèi)容顯示

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

6.路由

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

.app.use('/', middleware);//get/post時(shí),對(duì)于路徑/的處理
.app.get("/", middleware);//http中g(shù)et時(shí),對(duì)于路徑/的處理
.app.post("/", middleware);//http中post時(shí),對(duì)于路徑/的處理
.app.put("/", middleware);//http中put時(shí),對(duì)于路徑/的處理
.app.delete("/", middleware);//http中delete時(shí),對(duì)于路徑/的處理

7.路徑通配符*

.*表示所有路徑

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

.:捕獲路徑內(nèi)容

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

8.設(shè)置環(huán)境變量set

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

9.response對(duì)象方法

.重定向redirect

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

.發(fā)送文件sendFile

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

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

10.requst對(duì)象方法

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

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

11.啟動(dòng)腳本package.json

package.json用于指定app信息,nodejs版本號(hào)和其他組件的依賴關(guān)系

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

12.app入口app.js

app.js主要包含http的創(chuàng)建,基本路由,監(jiān)聽端口號(hào)

13.動(dòng)態(tài)網(wǎng)頁(yè)模板views

views文件夾,用于存放所有的放網(wǎng)頁(yè)模板.

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

14.指定靜態(tài)網(wǎng)頁(yè)目錄

//app.js
app.use(express.static('public'));//指定靜態(tài)網(wǎng)頁(yè)目錄,當(dāng)瀏覽器發(fā)出非HTML文件請(qǐng)求時(shí),服務(wù)器端就到public目錄尋找這個(gè)文件

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

好了,本教程先給大家介紹到這里,后續(xù)還會(huì)持續(xù)給大家更新,謝謝大家一直以來(lái)對(duì)腳本之家網(wǎng)站的支持。!

相關(guān)文章

  • 教你徹底搞懂ESM與CJS互相轉(zhuǎn)換

    教你徹底搞懂ESM與CJS互相轉(zhuǎn)換

    這篇文章主要為大家介紹了ESM與CJS互相轉(zhuǎn)換的理解與實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Node.js中用D3.js的方法示例

    Node.js中用D3.js的方法示例

    這篇文章主要給大家介紹了在Node.js中用D3.js的方法,文中分別介紹了如何安裝模塊和一小段簡(jiǎn)單的示例代碼,有需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-01-01
  • 實(shí)例詳解Nodejs 保存 payload 發(fā)送過(guò)來(lái)的文件

    實(shí)例詳解Nodejs 保存 payload 發(fā)送過(guò)來(lái)的文件

    這篇文章主要介紹了實(shí)例詳解Nodejs 保存 payload 發(fā)送過(guò)來(lái)的文件 的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Nodejs+express+html5 實(shí)現(xiàn)拖拽上傳

    Nodejs+express+html5 實(shí)現(xiàn)拖拽上傳

    文件上傳是一個(gè)比較常見(jiàn)的功能,傳統(tǒng)的選擇方式的上傳比較麻煩,需要先點(diǎn)擊上傳按鈕,然后再找到文件的路徑,然后上傳。給用戶體驗(yàn)帶來(lái)很大問(wèn)題。html5開始支持拖拽上傳的需要的api。nodejs也是一個(gè)最近越來(lái)越流行的技術(shù),這也是自己第一次接觸nodejs。
    2014-08-08
  • Node.js基礎(chǔ)入門之模塊與npm包管理器使用詳解

    Node.js基礎(chǔ)入門之模塊與npm包管理器使用詳解

    Node.js是一個(gè)基于Chrome?V8引擎的JavaScript運(yùn)行時(shí)。類似于Java中的JRE,.Net中的CLR。本文將詳細(xì)為大家介紹Node.js中的模塊與npm包管理器的使用,需要的可以參考一下
    2022-03-03
  • ubuntu編譯nodejs所需的軟件并安裝

    ubuntu編譯nodejs所需的軟件并安裝

    Node 在 Linux,Macintosh,Solaris 這幾個(gè)系統(tǒng)上都可以完美的運(yùn)行,linux 的發(fā)行版本當(dāng)中使用 Ubuntu 相當(dāng)適合。這也是我們?yōu)槭裁匆獓L試在 ubuntu 上安裝 Node.js,
    2017-09-09
  • nodejs express搭建服務(wù)并熱更新文件過(guò)程詳解

    nodejs express搭建服務(wù)并熱更新文件過(guò)程詳解

    這篇文章主要為大家介紹了nodejs express搭建服務(wù)并熱更新文件過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • node.js中EJS 模板快速入門教程

    node.js中EJS 模板快速入門教程

    本篇文章主要介紹了EJS 模板快速入門學(xué)習(xí),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • node文件資源管理器的解壓縮從零實(shí)現(xiàn)

    node文件資源管理器的解壓縮從零實(shí)現(xiàn)

    這篇文章主要為大家介紹了node文件資源管理器的解壓縮從零實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 配置nodejs環(huán)境的方法

    配置nodejs環(huán)境的方法

    本篇文章主要介紹了配置nodejs環(huán)境變量的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05

最新評(píng)論

达尔| 宣化县| 拜泉县| 贞丰县| 青河县| 射阳县| 胶南市| 奉新县| 瑞金市| 榆林市| 济源市| 肇东市| 交城县| 新龙县| 电白县| 长岭县| 全州县| 怀远县| 吉木萨尔县| 西青区| 布拖县| 客服| 应城市| 普兰县| 宣城市| 曲周县| 宝清县| 福清市| 济南市| 娄底市| 双鸭山市| 青铜峡市| 高平市| 无棣县| 贵州省| 昭苏县| 磴口县| 如皋市| 辽中县| 定兴县| 武功县|