使用express.js架構一步步實現基本應用以及構建可擴充的web應用

來源:互聯網
上載者:User

標籤:mongoskin   方法   strong   jad   中介軟體   開啟   require   ges   cookie   

最近過年在家有點懈怠,但是自己也不斷在學習新的前端技術,在家琢磨了express.js的web架構。

 

架構的作用就是提高開發效率,快速產出結果。即使不使用架構,我們也會在開發過程中逐漸形成構成架構。

 

大多數的node.js項目中都會用到express.js

 

目錄:

一、什麼是express.js架構

二、express.js是怎麼工作的

三、expres.js的安裝

四、express.js的腳手架

五、express.js的helloworld基本應用

 

一、什麼是express.js架構?

Express.js架構是基於node.js的http模組和connect組件的web架構。Connect組件就是中介軟體,以約定大於配置原則作為開發理念。

 

如果使用核心的node.js模組來開發web應用,會發現很多的代碼冗餘,例如:

1、解析http請求訊息

2、解析cookie

3、管理session

4、根據http請求的方法類型和url路徑做路由解析

 

REST API服務包含兩種路由方式,1、基於http請求類型;2、基於URL

開發人員不得不做很多繁瑣的工作,需要做http請求方式,url路由解析,分析請求,響應資料等等。

 

Express.js很好的解決這些繁瑣的工作,express.js架構提供了一個類似MVC的架構,,web應用提供了一個良好的結構(MVC)(模型,視圖,路由)。

 

二、express.js是如何工作的?

Express.js是單入口的主檔案啟動。我們在node命令中啟動這個檔案。

這個檔案中,以下事情:

1、引入第三方模組,比如控制器,公用模組,輔助模組和模型。

2、配置express.js,例如模板引擎

3、串連到資料庫,mongoDB,redis,mysql

4、定義中介軟體

5、定義路由

6、啟動應用

7、模組化輸出應用

 

三、express.js的安裝

Express包有兩種形式:

1、express-generator:一個提供在命令列中快速搭建全域NPM包

2、express:一個在Node.js應用中的node_modules檔案夾裡的本地模組包

 

1、express.js產生器

以全域形式安裝express.js產生器,命令列輸入

npm install –g [email protected]

 

2、本地expres.js

通過在命令列輸入

mkdir 檔案夾名

建立一個檔案夾,這個檔案夾名就是專案檔夾。

cd 檔案夾名

開啟該檔案夾名。通過在命令列輸入

npm init

建立package.json

 

最後通過npm安裝模組,在命令列輸入

npm install [email protected] –save

 

四、express.js腳手架

具有基本的結構後,通過穩定的腳手架快速啟動是非常有必要的,這就是為啥有那麼多的不同類型的腳手架。

 

五、helloworld的web應用

不使用產生器,進階模組,中介軟體來搭建express.js的應用。

步驟:

1、建立檔案夾

2、npm初始化和配置packag.json

3、依賴聲明

4、app.js檔案

5、結合jade

6、運行應用

 

1、建立檔案夾

node_modules檔案夾:express.js和第三方模組的依賴都在這個目錄下

views檔案夾:jade或者其他模板引擎檔案

 

 

2、npm初始化和package.json

我們不用express.js產生器,手動建立一個express.js應用,npm是什麼,npm是node.js 的包管理器,建立package.json檔案是必須的。

(1)可以使用在命令列輸入

npm init

輸入完成之後就會產生一個package.json檔案。

(2)也可以建立package.json檔案的方式,寫入或者複製粘貼package.json並運行。

package.json檔案內容

{

"name": "express",

"version": "1.0.0",

"description": "" 

"main": "index.js",

"scripts": {

    "start": "node index.js"

  },

"dependencies":{

"express":"4.1.2",

"jade":"1.3.1",

"mongoskin":"1.4.1",

"stylus":"0.44.0"

},

 "author": "",

"license": "ISC"

}

3、index.js檔案

index.js檔案內容

var express = require(‘express‘);

var http = require(‘http‘);
var path = require(‘path‘);

var app = express();

app.set(‘port‘, process.env.PORT || 3001);
app.set(‘views‘, path.join(__dirname, ‘views‘));
app.set(‘view engine‘, ‘jade‘);


app.all(‘*‘, function(req, res) {
  res.render(‘index‘, {msg: ‘Welcome to my coding life!\n歡迎來到coding世界‘})
})

http.createServer(app).listen(app.get(‘port‘), function(){
  console.log(‘Express server listening on port ‘ + app.get(‘port‘));
});

 

 

4、jade模板

 

 

5、運行

在命令列輸入

node index

,如所示

 

 

使用express.js架構一步步實現基本應用以及構建可擴充的web應用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.