Nodejs對web開發你知道多少?一篇文章讓你瞭解nodejs開發web

來源:互聯網
上載者:User
這篇文章讓我們瞭解nodejs對web開發的過程,你想知道的都在這裡,由伺服器動態產生html頁面。下面就讓我們來看這篇文章吧。

一 ,Node.js 和 PHP、 Perl、ASP、JSP 目的都是實現動動態網頁,也就是說由伺服器動動態產生 HTML 頁面。 之所以要這麼做,是因為靜態 HTML 的可擴充性非常有限,無法與使用者有效互動。(教程推薦:node.js中文參考手冊)

軟體工程分解為 個層面:模型 、視圖和控制器。

  1. 模型是對象及其資料結構的實現,通常包含資料庫操作。

  2. 視圖表示使用者介面,在網站中通常就是 HTML 的組織圖。

  3. 控制器用於處理使用者請求和資料流、複雜模型 ,將輸出傳遞給視圖。

準備工作

1、使用 http 模組

post請求:

var http = require('http');var querystring = require('querystring');var server = http.createServer(function(req, res) {var post = '';req.on('data', function(chunk) { post += chunk;});req.on('end', function() {post = querystring.parse(post);        res.write(post.title);        res.write(post.text);        res.end();}); }).listen(3000);

所以相比php,要用nodejs用http模組直接開發網站,必須手動實現所有東西了,想學習node.js的同學可以前往topic.alibabacloud.com node.js視頻教程欄目

二、Express架構

nodejs推薦的唯一一個web開發架構

除了為http模組提供了更高層的介面外,還實現了許多功能,包括:

  • - 路由控制

  • - 模模解析支援

  • - 動態視圖

  • - 使用者會話

  • - CSRF保護

  • - 靜態檔案服務

  • - 錯誤控制器

  • - 訪問日誌

  • - 緩衝

  • - 外掛程式支援

快速開始

1.安裝Express

$ npm install -g express

2.建立工程

$ express -t ejs microblog$ cd microblog && npm install

3.啟動伺服器

$ node app.js

三、路由控制

1.工作原理

  • 訪問http://localhost:12138 瀏覽器會向伺服器發送請求

  • app解析請求的路徑,調用相應的邏輯

  • app.js中有一行內容是app.get(‘/’, routes.index),它的作用是規定路徑為/的GET請求由routes.index函數處理

  • routes.index通過res.render(‘index’,{title: ‘Express’})調用視圖模板index,傳遞 title 變數

  • 最終視圖模板產生HTML頁面, 返回給瀏覽器

  • 瀏覽器在接收到內容以後,經過分析發現要擷取 /stylesheets/style.css,因此會再次 服 務器發 請求。

  • app.js中並沒有一個路由規則指 到/stylesheets/style.css,但app通過app.use(express.static(__dirname + ‘/public’))配置了靜態檔案伺服器,因此/stylesheets/style.css會定向到app.js所在目錄的子目錄中的檔案public/stylesheets/style.css, 向用戶端返回樣式內容

2.建立路由規則

開啟 app.js,在已有的路由規則 app.get(‘/’, routes.index) 後面添加一行

app.get(‘/hello’, routes.hello);改 routes/index.js, 加 hello 函數: exports.index = function(req, res) {      res.render('index', { title: 'Express' });};exports.hello = function(req, res) {  res.send('The time is ' + new Date().toString());};

REST 風格的路由規則

四、模版引擎

1、什麼是模板引擎

模板引擎(Template Engine)是一個從頁面模板根據一定的規則產生 HTML 的工具

模板引擎的功能是將頁面模板和要顯示的資料結合起來產生 HTML 頁面。

它 可以運行在伺服器端 可以運行在 用戶端

主流的還是由伺服器運行模板引擎

在MVC架構中,模板引擎包含在伺服器端,控制器得到使用者請求後,從模型擷取資料調用模板引擎.

模板引擎以資料和 頁面模板為輸入,產生html頁面,然後返回給控制器

由控制器交回給用戶端

模板引擎在mvc中的位置:

2、使用模板引擎 ejs

ejs標籤系統非常簡單,3中標籤:

  1. - <% code %>: js 代碼

  2. - <%= code %>: 顯示替換過的html特殊字元的內容

  3. - <%- code %>: 顯示原始html內容

以上就是這篇關於nodejs對web開發的所有內容了(更多詳情到topic.alibabacloud.comnode.js中文參考手冊),有問題可以在下方留言。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.