欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nodejs的express使用教程

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

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

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

app demo

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

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請求的函數(shù).
當(dāng)一個HTTP請求進(jìn)入服務(wù)器,服務(wù)器實(shí)例會調(diào)用第一個中間件,完成后根據(jù)設(shè)置,決定是否再調(diào)用下一個中間件.

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

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

4.使用中間件use

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

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

5.錯誤內(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!');
});//錯誤內(nèi)容顯示

6.路由

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

.app.use('/', middleware);//get/post時,對于路徑/的處理
.app.get("/", middleware);//http中g(shù)et時,對于路徑/的處理
.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

.:捕獲路徑內(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對象方法

.重定向redirect

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

.發(fā)送文件sendFile

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

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

10.requst對象方法

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

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

11.啟動腳本package.json

package.json用于指定app信息,nodejs版本號和其他組件的依賴關(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)聽端口號

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

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

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

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

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

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

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

相關(guān)文章

  • pnpm的安裝及其使用教程(匯總)

    pnpm的安裝及其使用教程(匯總)

    pnpm是 Node.js 的替代包管理器,它是 npm 的直接替代品,速度更快、效率更高,它由 npm/yarn 衍生而來,但卻解決了 npm/yarn 內(nèi)部潛在的 bug,并且極大了地優(yōu)化了性能,本文給大家介紹pnpm的安裝及其使用,感興趣的朋友一起看看吧
    2023-12-12
  • webstorm配置支持nodejs并自動補(bǔ)全的方法

    webstorm配置支持nodejs并自動補(bǔ)全的方法

    今天小編就為大家分享一篇webstorm配置支持nodejs并自動補(bǔ)全的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Electron 調(diào)用命令行(cmd)

    Electron 調(diào)用命令行(cmd)

    這篇文章主要介紹了Electron 調(diào)用命令行(cmd),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 詳解nodejs模板引擎制作

    詳解nodejs模板引擎制作

    本篇文章主要介紹了nodejs模板引擎制作 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 解決nodejs報錯Error:EPERM:operation not permitted,mkdir‘xxxxxxxxxxxxxxxx‘

    解決nodejs報錯Error:EPERM:operation not permitted,mkdi

    這篇文章主要介紹了解決nodejs報錯Error:EPERM:operation not permitted,mkdir‘xxxxxxxxxxxxxxxx‘問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 使用puppeteer破解極驗的滑動驗證碼

    使用puppeteer破解極驗的滑動驗證碼

    這篇文章主要介紹了利用puppeteer破解極驗的滑動驗證功能,基本流程代碼實(shí)現(xiàn)給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-02-02
  • Node.js中常用設(shè)計模式的使用方法總結(jié)

    Node.js中常用設(shè)計模式的使用方法總結(jié)

    設(shè)計模式是由經(jīng)驗豐富的程序員在日積月累中抽象出的用以解決通用問題的可復(fù)用解決方案,它提供了標(biāo)準(zhǔn)化的代碼設(shè)計方案提升開發(fā)體驗,本文主要來和大家討論一下Node.js中設(shè)計模式的重要性并提供一些代碼示例,感興趣的可以了解下
    2023-10-10
  • 如何在Nodejs中使用模塊fs文件系統(tǒng)

    如何在Nodejs中使用模塊fs文件系統(tǒng)

    這篇文章主要介紹了如何在Nodejs中使用模塊fs文件系統(tǒng),對nodejs感興趣的同學(xué),可以參考下
    2021-05-05
  • nodejs搭建本地服務(wù)器輕松解決跨域問題

    nodejs搭建本地服務(wù)器輕松解決跨域問題

    這篇文章主要介紹了利用nodejs搭建本地服務(wù)器 解決跨域問題,需要的朋友可以參考下
    2018-03-03
  • 詳解NODEJS的http實(shí)現(xiàn)

    詳解NODEJS的http實(shí)現(xiàn)

    這篇文章主要介紹了詳解NODEJS的http實(shí)現(xiàn)的技術(shù)過程以及詳細(xì)分析,需要的朋友學(xué)習(xí)參考下吧。
    2018-01-01

最新評論