1. 程式人生 > >Express - 基於 Node.js 平臺的 web 應用開發框架

Express - 基於 Node.js 平臺的 web 應用開發框架

create down block log 功能 views div save filepath

Web 應用
Express 是一個基於 Node.js 平臺的極簡、靈活的 web 應用開發框架,它提供一系列強大的特性,幫助你創建各種 Web 和移動設備應用。
API
豐富的 HTTP 快捷方法和任意排列組合的 Connect 中間件,讓你創建健壯、友好的 API 變得既快速又簡單。
性能
Express 不對 Node.js 已有的特性進行二次抽象,我們只是在它之上擴展了 Web 應用所需的基本功能。
LoopBack 提供贊助
Develop model-driven apps with an Express-based framework.
Find out more at loopback.io.

Express 應用生成器
通過應用生成器工具 express 可以快速創建一個應用的骨架。

通過如下命令安裝:

$ npm install express-generator -g
-h 選項可以列出所有可用的命令行選項:

$ express -h

Usage: express [options] [dir]

Options:

-h, --help          output usage information
-V, --version       output the version number
-e, --ejs           add ejs engine support (defaults to jade)
    --hbs           add handlebars engine support
-H, --hogan         add hogan.js engine support
-c, --css <engine>  add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
    --git           add .gitignore
-f, --force         force on non-empty directory

例如,下面的示例就是在當前工作目錄下創建一個命名為 myapp 的應用。

$ express myapp

create : myapp
create : myapp/package.json
create : myapp/app.js
create : myapp/public
create : myapp/public/javascripts
create : myapp/public/images
create : myapp/routes
create : myapp/routes/index.js
create : myapp/routes/users.js
create : myapp/public/stylesheets

create : myapp/public/stylesheets/style.css
create : myapp/views
create : myapp/views/index.jade
create : myapp/views/layout.jade
create : myapp/views/error.jade
create : myapp/bin
create : myapp/bin/www
然後安裝所有依賴包:

$ cd myapp
$ npm install
啟動這個應用(MacOS 或 Linux 平臺):

$ DEBUG=myapp npm start
Windows 平臺使用如下命令:

set DEBUG=myapp & npm start
然後在瀏覽器中打開 http://localhost:3000/ 網址就可以看到這個應用了。i

通過 Express 應用生成器創建的應用一般都有如下目錄結構:

.
├── app.js
├── bin
│ └── www
├── package.json
├── public
│ ├── images
│ ├── javascripts
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
└── views
├── error.jade
├── index.jade
└── layout.jade

7 directories, 9 files
通過 Express 應用生長期創建應用只是眾多方法中的一種。你可以不使用它,也可以修改它讓它符合你的需求,都是開源的嘛!

在 Express 中使用模板引擎
需要在應用中進行如下設置才能讓 Express 渲染模板文件:

views, 放模板文件的目錄,比如: app.set(‘views‘, ‘./views‘)
view engine, 模板引擎,比如: app.set(‘view engine‘, ‘jade‘)
然後安裝相應的模板引擎 npm 軟件包。

$ npm install jade --save
和 Express 兼容的模板引擎,比如 Jade,通過 res.render() 調用其導出方法 __express(filePath, options, callback) 渲染模板。

有一些模板引擎不遵循這種約定,Consolidate.js 能將 Node 中所有流行的模板引擎映射為這種約定,這樣就可以和 Express 無縫銜接。

一旦 view engine 設置成功,就不需要顯式指定引擎,或者在應用中加載模板引擎模塊,Express 已經在內部加載,如下所示。

app.set(‘view engine‘, ‘jade‘);
在 views 目錄下生成名為 index.jade 的 Jade 模板文件,內容如下:

html
head
title!= title
body
h1!= message
然後創建一個路由渲染 index.jade 文件。如果沒有設置 view engine,您需要指明視圖文件的後綴,否則就會遺漏它。

app.get(‘/‘, function (req, res) {
res.render(‘index‘, { title: ‘Hey‘, message: ‘Hello there!‘});
});
此時向主頁發送請求,“index.jade” 會被渲染為 HTML。

請閱讀 “為 Express 開發模板引擎” 了解模板引擎在 Express 中是如何工作的。

Express - 基於 Node.js 平臺的 web 應用開發框架