欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

使用Nodejs進(jìn)行web開(kāi)發(fā) - 新聞資訊 - 云南小程序開(kāi)發(fā)|云南軟件開(kāi)發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開(kāi)發(fā)/軟件開(kāi)發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 網(wǎng)站建設(shè) >

使用Nodejs進(jìn)行web開(kāi)發(fā)

發(fā)表時(shí)間:2017-8-5

發(fā)布人:葵宇科技

瀏覽次數(shù):37

Node.js 和 PHP、 Perl、ASP、JSP 一 ,目的都是實(shí)現(xiàn)動(dòng)動(dòng)態(tài)網(wǎng)頁(yè),也就是說(shuō)由服務(wù)器動(dòng)動(dòng)態(tài)生成 HTML 頁(yè)面。
之所以要這么做,是因?yàn)殪o態(tài) HTML 的可擴(kuò)展性非常有限,無(wú)法與用戶有效交互。

軟件工程分解為 個(gè)層面:模型 、視圖和控制器。
1)模型是對(duì)象及其數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn),通常包含數(shù)據(jù)庫(kù)操作。
2)視圖表示用戶界面,在網(wǎng)站中通常就是 HTML 的組織結(jié)構(gòu)。
3)控制器用于處理用戶請(qǐng)求和數(shù)據(jù)流、復(fù)雜模型 ,將輸出傳遞給視圖。

準(zhǔn)備工作

1、使用 http 模塊

post請(qǐng)求:

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);

這里寫(xiě)圖片描述

所以相比php,要用nodejs用http模塊直接開(kāi)發(fā)網(wǎng)站,必須手動(dòng)實(shí)現(xiàn)所有東西了

2、Express框架

nodejs推薦的唯一一個(gè)web開(kāi)發(fā)框架
除了為http模塊提供了更高層的接口外,還實(shí)現(xiàn)了許多功能,包括:
- 路由控制
- 模模解析支持
- 動(dòng)態(tài)視圖
- 用戶會(huì)話
- CSRF保護(hù)
- 靜態(tài)文件服務(wù)
- 錯(cuò)誤控制器
- 訪問(wèn)日志
- 緩存
- 插件支持

快速開(kāi)始

1、安裝Express

$ npm install -g express

2、建立工程

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

3、啟動(dòng)服務(wù)器

$ node app.js

在瀏覽器中打開(kāi):http://localhost:3000

三、路由控制

1、工作原理

  • 訪問(wèn)http://localhost:3000 瀏覽器會(huì)向服務(wù)器發(fā)送請(qǐng)求
  • app解析請(qǐng)求的路徑,調(diào)用相應(yīng)的邏輯
  • app.js 中有一行內(nèi)容是 app.get(‘/’, routes.index),它的作用是規(guī)定路徑為 / 的 GET 請(qǐng)求由 routes.index 函數(shù)處理
  • routes.index 通 過(guò) res.render(‘index’, { title: ‘Express’ }) 調(diào)用視圖模板 index,傳遞 title 變量
  • 最終視圖模板生成 HTML 頁(yè)面, 返回給瀏覽器
  • 瀏覽器在接收到內(nèi)容以后,經(jīng)過(guò)分析發(fā)現(xiàn)要獲取 /stylesheets/style.css,因此會(huì)再次 服 務(wù)器發(fā) 請(qǐng)求。
  • app.js 中并沒(méi)有一個(gè)路由規(guī)則指 到 /stylesheets/style.css,但 app 通過(guò) app.use(express.static(__dirname + ‘/public’)) 配置了靜態(tài)文件服務(wù)器,因此 /stylesheets/style.css 會(huì)定向到 app.js 所在目錄的 子目錄中的文件 public/stylesheets/style.css, 向客戶端返回樣式內(nèi)容

這里寫(xiě)圖片描述

2、創(chuàng)建路由規(guī)則

  • 打開(kāi) app.js,在已有的路由規(guī)則 app.get(‘/’, routes.index) 后面添加一行
  • app.get(‘/hello’, routes.hello);
  • 改 routes/index.js, 加 hello 函數(shù):
 exports.index = function(req, res) {
      res.render('index', { title: 'Express' });
};
exports.hello = function(req, res) {
  res.send('The time is ' + new Date().toString());
};

2)REST 風(fēng)格的路由規(guī)則

四、模版引擎

1、什么是模板引擎

  • 模板引擎(Template Engine)是一個(gè)從頁(yè)面模板根據(jù)一定的規(guī)則生成 HTML 的工具
  • 模板引擎的功能是將頁(yè)面模板和要顯示的數(shù)據(jù)結(jié)合起來(lái)生成 HTML 頁(yè)面。
  • 它 可以運(yùn)行在服務(wù)器端 可以運(yùn)行在 客戶端
  • 主流的還是由服務(wù)器運(yùn)行模板引擎
在MVC架構(gòu)中,模板引擎包含在服務(wù)器端,控制器得到用戶請(qǐng)求后,從模型獲取數(shù)據(jù)調(diào)用模板引擎.
模板引擎以數(shù)據(jù)和 頁(yè)面模板為輸入,生成html頁(yè)面,然后返回給控制器
由控制器交回給客戶端

模板引擎在mvc中的位置:
這里寫(xiě)圖片描述

2、使用模板引擎 ejs

ejs標(biāo)簽系統(tǒng)非常簡(jiǎn)單,3中標(biāo)簽:

- <% code %>: js 代碼
- <%= code %>: 顯示替換過(guò)的html特殊字符的內(nèi)容
- <%- code %>: 顯示原始html內(nèi)容

相關(guān)案例查看更多