知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
您當前位置>首頁 » 新聞資訊 » 網(wǎng)站建設 >
使用Nodejs進行web開發(fā)
發(fā)表時間:2017-8-5
發(fā)布人:葵宇科技
瀏覽次數(shù):37
Node.js 和 PHP、 Perl、ASP、JSP 一 ,目的都是實現(xiàn)動動態(tài)網(wǎng)頁,也就是說由服務器動動態(tài)生成 HTML 頁面。
之所以要這么做,是因為靜態(tài) HTML 的可擴展性非常有限,無法與用戶有效交互。
軟件工程分解為 個層面:模型 、視圖和控制器。
1)模型是對象及其數(shù)據(jù)結(jié)構(gòu)的實現(xiàn),通常包含數(shù)據(jù)庫操作。
2)視圖表示用戶界面,在網(wǎng)站中通常就是 HTML 的組織結(jié)構(gòu)。
3)控制器用于處理用戶請求和數(shù)據(jù)流、復雜模型 ,將輸出傳遞給視圖。
準備工作
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模塊直接開發(fā)網(wǎng)站,必須手動實現(xiàn)所有東西了
2、Express框架
nodejs推薦的唯一一個web開發(fā)框架
除了為http模塊提供了更高層的接口外,還實現(xiàn)了許多功能,包括:
- 路由控制
- 模模解析支持
- 動態(tài)視圖
- 用戶會話
- CSRF保護
- 靜態(tài)文件服務
- 錯誤控制器
- 訪問日志
- 緩存
- 插件支持
快速開始
1、安裝Express
$ npm install -g express
2、建立工程
$ express -t ejs microblog
$ cd microblog && npm install
3、啟動服務器
$ node app.js
在瀏覽器中打開:http://localhost:3000
三、路由控制
1、工作原理
- 訪問http://localhost:3000 瀏覽器會向服務器發(fā)送請求
- app解析請求的路徑,調(diào)用相應的邏輯
- app.js 中有一行內(nèi)容是 app.get(‘/’, routes.index),它的作用是規(guī)定路徑為 / 的 GET 請求由 routes.index 函數(shù)處理
- routes.index 通 過 res.render(‘index’, { title: ‘Express’ }) 調(diào)用視圖模板 index,傳遞 title 變量
- 最終視圖模板生成 HTML 頁面, 返回給瀏覽器
- 瀏覽器在接收到內(nèi)容以后,經(jīng)過分析發(fā)現(xiàn)要獲取 /stylesheets/style.css,因此會再次 服 務器發(fā) 請求。
- app.js 中并沒有一個路由規(guī)則指 到 /stylesheets/style.css,但 app 通過 app.use(express.static(__dirname + ‘/public’)) 配置了靜態(tài)文件服務器,因此 /stylesheets/style.css 會定向到 app.js 所在目錄的 子目錄中的文件 public/stylesheets/style.css, 向客戶端返回樣式內(nèi)容
2、創(chuàng)建路由規(guī)則
- 打開 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 風格的路由規(guī)則
四、模版引擎
1、什么是模板引擎
- 模板引擎(Template Engine)是一個從頁面模板根據(jù)一定的規(guī)則生成 HTML 的工具
- 模板引擎的功能是將頁面模板和要顯示的數(shù)據(jù)結(jié)合起來生成 HTML 頁面。
- 它 可以運行在服務器端 可以運行在 客戶端
- 主流的還是由服務器運行模板引擎
在MVC架構(gòu)中,模板引擎包含在服務器端,控制器得到用戶請求后,從模型獲取數(shù)據(jù)調(diào)用模板引擎.
模板引擎以數(shù)據(jù)和 頁面模板為輸入,生成html頁面,然后返回給控制器
由控制器交回給客戶端
模板引擎在mvc中的位置:
2、使用模板引擎 ejs
ejs標簽系統(tǒng)非常簡單,3中標簽:
- <% code %>: js 代碼
- <%= code %>: 顯示替換過的html特殊字符的內(nèi)容
- <%- code %>: 顯示原始html內(nèi)容
相關案例查看更多
相關閱讀
- uniapp開發(fā)小程序
- 昆明網(wǎng)站建設公司
- 汽車報廢系統(tǒng)
- 安家微信小程序
- Web開發(fā)框架
- 海南小程序制作公司
- 云南網(wǎng)站建設哪家強
- 買小程序被騙
- 云南網(wǎng)站建設方法
- 網(wǎng)站建設開發(fā)
- 大理網(wǎng)站建設公司
- 搜索引擎自然排名
- 云南小程序設計
- 政府網(wǎng)站建設服務
- 云南衛(wèi)視小程序
- 云南網(wǎng)絡推廣
- 小程序開發(fā)費用
- 網(wǎng)站建設方法
- 云南建設廳網(wǎng)站
- 云南網(wǎng)站建設百度官方
- 網(wǎng)站建設特性
- 云南網(wǎng)站建設公司哪家好
- 網(wǎng)絡公司排名
- 北京小程序制作
- 云南小程序商城
- 昆明網(wǎng)絡公司
- .net網(wǎng)站
- 小程序公司
- 云南省建設廳網(wǎng)站官網(wǎng)
- 云南etc小程序