初步嘗試Express&jade快速建站

bhlv9270 8年前發布 | 17K 次閱讀 路由器 HTML Web開發 Node.js 開發

來自: http://lupeng.me/2016/02/05/初步嘗試Jade&Express快速建站.html

最近一直在看Web開發相關的書籍,一周時間讀完了《Node開發指南》一書,由于之前了解過一些Node的相關知識,于是前面基礎知識學得比較快,到開發實踐這一章的時候,卻發現好多內容不能跟著練習了。因為近幾年Node的發展過于快速,其Web開發框架 Express 必然也更新得比較頻繁,并且版本與版本之間差異較大。所以,書中必然有好多代碼在現在來看肯定運行不了,但是大體的框架還是在那里,想動手實踐還是得對照著官方文檔進行。

1. 生成Express項目

根據 官方文檔入門 的介紹,根據Express建站的步驟大致寫一下:

  1. npm install express 安裝express
  2. npm install express-generator -g 安裝express應用生成器
  3. express myapp 生成express項目目錄以及基本啟動代碼
  4. DEBUG=myapp npm start 啟動應用(Mac or Linux); set DEBUG=myapp & npm start 啟動應用(Windows)
  5. 瀏覽器訪問 http://localhost:3000

通過上面幾步很快就完成了一個項目的部署,那么接下來就是要往里填寫內容了,用框架開發就是這么快,但是會忽略掉很多重要的細節。

打開 myapp 文件夾,會看到該項目的目錄結構如下:

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

</div>

了解過一些Node的相關知識就知道,Node是通過動態網頁的方式來實現網站的,就如同其他語言Java、PHP一樣,要實現動態頁面就要在HTML模板中插入程序代碼,于是就有了JSP、PHP以及ASP等技術。通過JavaScript實現的模板引擎有很多, Jade 就是其中之一,為什么選擇它,因為Express默認就是它,反正也是新接觸,那就它咯。

2. Jade 模板引擎

由于新學,也沒有什么經驗可談,基本用法參考官網就可以了。這類語言基本上看一遍就百分之八九十了,接下來就是熟練使用它。

3. 回頭看看 app.js

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

</div>

這里就是設置 Jade 模板引擎以及視圖目錄的地方。

4. 編寫路由規則

編寫路由規則,打開 routes/index.js 文件,添加4條路由規則,代表4個不同的頁面。

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Home Page'});
});

/* GET detail page. */
router.get('/detail/:id', function(req, res, next) {
  res.render('detail', { title: 'Detail Page'});
});

/* GET admin page. */
router.get('/admin', function(req, res, next) {
  res.render('admin', { title: 'Admin Page'});
});

/* GET list page. */
router.get('/list', function(req, res, next) {
  res.render('list', { title: 'List Page'});
});

</div>

5. 瞧瞧 jade 模板視圖文件

打開 views/layout.jade

doctype html
html
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
  body
    block content

</div>

看了一遍 jade 語法的基本就能看出這是一個基本頁面,然后再打開 views/index.jade 。

extends layout
block content
  h1= title
  p Welcome to #{title}

</div>

路由規則中, title 變量就用與此處,如此即為動態頁面。 npm start 啟動應用,訪問 http://localhost:3000 得到頁面如下圖。

6. 依次創建 detail 、 list 、 admin 頁面

根據路由規則所規定的訪問路徑,依次訪問,會得到不同的動態頁面。

</div>

 本文由用戶 bhlv9270 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!