標籤: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應用