最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nodejs 圖解express+supervisor+ejs的用法(推薦)

 更新時(shí)間:2017年09月08日 08:27:24   投稿:jingxian  
下面小編就為大家?guī)硪黄猲odejs 圖解express+supervisor+ejs的用法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

通過node js自帶的http模塊搭建了一個(gè)簡易的服務(wù)器,實(shí)際在開發(fā)中,一般用的是express框架,本文我們就來講講項(xiàng)目開發(fā)中必備不可少的幾樣?xùn)|西:

•服務(wù)器( express )

•路由( express.Router )

•模板引擎( ejs )

•當(dāng)然再加上數(shù)據(jù)庫,就可以完成一個(gè)mvc的web應(yīng)用了,數(shù)據(jù)庫的用法,后期我會(huì)寫一個(gè)項(xiàng)目

一、首先,新建一個(gè)項(xiàng)目文件夾( ghostwu ),在命令行下切換到該目錄,用npm init --yes 初始化package.json文件

安裝express: npm install express --save

二、新建index.js文件,輸入以下代碼

var express = require('express');
var app = express();

app.get('/', function(req, res) {
 res.send( 'welcome to study express -by ghostwu' );
}).listen( 8080 );

第一行,加載express模塊

第二行,開啟web服務(wù)器

第三行,web服務(wù)器監(jiān)聽8080端口, 當(dāng)通過瀏覽器輸入( http://localhost:8080 ) 就會(huì)看到這段信息:welcome to study express -by ghostwu

三、如果你寫過node服務(wù)器,你就會(huì)發(fā)現(xiàn)一個(gè)問題,每次修改之后,都要重啟服務(wù)器,一般來說,我們修改文件之后,保存,刷新網(wǎng)頁就能看到修改,需要達(dá)到這樣的效果,我們就要安裝supervisor,這個(gè)相當(dāng)于webpack的熱加載,我們采用全局安裝: npm install -g supervisor,安裝完成之后,我們以后就這樣運(yùn)行服務(wù)器文件了: supervisor --harmony index

之后修改index.js文件,只要保存,刷新網(wǎng)頁就能馬上看到修改之后的結(jié)果了

四、增加路由處理,修改index.js文件,把代碼修改成如下:

var express = require('express');
var app = express();
app.get('/', function(req, res) {
 res.send('hello, express');
});
app.get('/user/:name', function(req, res) {
 res.send('hello, ' + req.params.name);
});
app.get('/user/:name/age/:age', function(req, res) {
 res.send('info: user:' + req.params.name + ', age:' + req.params.age );
});
app.listen( 8080 );

http://localhost:8080/ ----> 顯示hello, express

http://localhost:8080/user/ghostwu ----->顯示hello, ghostwu

http://localhost:8080/user/ghostwu/age/22 ---->顯示info: user:ghostwu, age:22

:name占位符: 用來接收user后面的值 :age占位符用來接收age后面的值, req.params后面獲取的鍵名就是這個(gè)占位符

如果你學(xué)過php,那么就相當(dāng)于下面這種get接收參數(shù)方式

xxx.php?user=ghostwu&age=22 -----> $_REQUEST['user'] $_REQUEST['age']

五、一般在項(xiàng)目中,路由是需要單獨(dú)分離出來的,便于維護(hù)和擴(kuò)展

新建routers,然后在下面創(chuàng)建index.js和info.js文件

index.js代碼:

var express = require('express');
var router = express.Router();

router.get('/', function(req, res) {
 res.send('hello, express');
});

module.exports = router;

info.js代碼:

var express = require('express');
var router = express.Router();

router.get('/:name', function(req, res) {
 res.send('hello, ' + req.params.name);
});
router.get('/:name/age/:age2', function(req, res) {
 res.send('info: user:' + req.params.name + ', age:' + req.params.age2 );
});

module.exports = router;

ghostwu這個(gè)目錄下面的index.js文件代碼為:

var express = require('express');
var app = express();
var indexRouter = require('./routers/index');
var infoRouter = require('./routers/info');

app.use('/', indexRouter);
app.use('/user', infoRouter);

app.listen(8080);

通過以上的代碼,就完成了路由的分離,把 / 和 /user分別放在index.js,info.js文件,然后導(dǎo)出router對(duì)象,通過app.use找到對(duì)應(yīng)的路由

六、ejs模板的應(yīng)用

安裝: npm install ejs --save

index.js文件:

var path = require('path');
var express = require('express');
var app = express();
var indexRouter = require('./routers/index');
var infoRouter = require('./routers/info');

//設(shè)置模板目錄: views
app.set('views', path.join(__dirname, 'views'));

//設(shè)置模板引擎: ejs
app.set('view engine', 'ejs');
app.use('/', indexRouter);
app.use('/user', infoRouter);
app.listen(8080);

info.js文件

var express = require('express');
var router = express.Router();

router.get('/:name', function(req, res) {
 res.render( 'info', {
 name : 'ghostwu',
 age : 22,
 sex : 'man'
 });
});
module.exports = router;

第5行res.render渲染模板文件 info.ejs, 第二個(gè)參數(shù)就是數(shù)據(jù)

info.ejs文件

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
 </head>
 <body>
  用戶信息:
  <hr>
  <ul>
   <li>用戶名: <%=name%></li>
   <li>年齡: <%=age%></li>
   <li>性別: <%=sex%></li>
  </ul>
 </body>
</html>

<%=變量名%>讀出數(shù)據(jù)

<% code %>:運(yùn)行 JavaScript 代碼,不輸出
<%= code %>: 轉(zhuǎn)義html標(biāo)簽
<%- code %>:不轉(zhuǎn)義html標(biāo)簽

其他ejs用法,結(jié)合手冊(cè)查下

以上這篇nodejs 圖解express+supervisor+ejs的用法(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用Meteor配合Node.js編寫實(shí)時(shí)聊天應(yīng)用的范例

    使用Meteor配合Node.js編寫實(shí)時(shí)聊天應(yīng)用的范例

    這篇文章主要介紹了使用Meteor配合Node.js編寫實(shí)時(shí)聊天應(yīng)用的范例,Node.js作為異步框架,其最突出的使用便是用來編寫實(shí)時(shí)應(yīng)用程序,需要的朋友可以參考下
    2015-06-06
  • Node.js JSON模塊用法實(shí)例分析

    Node.js JSON模塊用法實(shí)例分析

    這篇文章主要介紹了Node.js JSON模塊用法,結(jié)合實(shí)例形式分析了node.js json模塊的基本語法,以及使用json模塊進(jìn)行json格式數(shù)據(jù)解析的相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • 詳解通過源碼解析Node.js中cluster模塊的主要功能實(shí)現(xiàn)

    詳解通過源碼解析Node.js中cluster模塊的主要功能實(shí)現(xiàn)

    這篇文章主要介紹了詳解通過源碼解析Node.js中cluster模塊的主要功能實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • nodejs實(shí)現(xiàn)遍歷文件夾并統(tǒng)計(jì)文件大小

    nodejs實(shí)現(xiàn)遍歷文件夾并統(tǒng)計(jì)文件大小

    這篇文章主要介紹了nodejs實(shí)現(xiàn)遍歷文件夾并統(tǒng)計(jì)文件大小,下面使用nodejs的遍歷文件夾文件內(nèi)容,并且讀取所有的文件,并采取排序往大到小的順序進(jìn)行輸出,需要的朋友可以參考下
    2015-05-05
  • Node.js?中常用內(nèi)置模塊(path?路徑模塊)

    Node.js?中常用內(nèi)置模塊(path?路徑模塊)

    這篇文章主要介紹了Node.js?中常用內(nèi)置模塊(path?路徑模塊),文章圍繞主題展開詳細(xì)的相關(guān)介紹,具有一定的參考價(jià)值,感興趣的朋友可以參考一下
    2022-09-09
  • NodeJS學(xué)習(xí)筆記之網(wǎng)絡(luò)編程

    NodeJS學(xué)習(xí)筆記之網(wǎng)絡(luò)編程

    Node.js采用了Google Chrome瀏覽器的V8引擎,性能很好,同時(shí)還提供了很多系統(tǒng)級(jí)的API,如文件操作、網(wǎng)絡(luò)編程等。Node.js則是一個(gè)全面的后臺(tái)運(yùn)行時(shí),為Javascript提供了其他語言能夠?qū)崿F(xiàn)的許多功能。今天我們來看下Nodejs的網(wǎng)絡(luò)編程
    2014-08-08
  • yarn與npm的命令行小結(jié)

    yarn與npm的命令行小結(jié)

    想必最近大家對(duì)新的JavaScript包管理工具yarn已經(jīng)有所耳聞,并已通過npm i -g yarn進(jìn)行了安裝,現(xiàn)在想知道怎么樣使用嗎?如果你了解 npm,你已經(jīng)會(huì)很大一部分啦!下面是這篇文章從npm切換到y(tǒng)arn的一些筆記。有需要的朋友們可以參考借鑒。下面來一起看看吧。
    2016-10-10
  • 利用Node.js手寫一個(gè)簡單的koa

    利用Node.js手寫一個(gè)簡單的koa

    這篇文章主要為大家詳細(xì)介紹了如何手動(dòng)寫一個(gè)簡單的koa,通過這個(gè)流程就可以較好的掌握koa2中的基本概念,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • Node.js插件安裝圖文教程

    Node.js插件安裝圖文教程

    Node.js是一個(gè)基于Chrome JavaScript運(yùn)行時(shí)建立的平臺(tái), 用于方便地搭建響應(yīng)速度快、易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用。本文給大家介紹Node.js插件安裝的教程,非常實(shí)用,特此分享給大家,需要的朋友一起學(xué)習(xí)吧
    2016-05-05
  • 安裝使用Mongoose配合Node.js操作MongoDB的基礎(chǔ)教程

    安裝使用Mongoose配合Node.js操作MongoDB的基礎(chǔ)教程

    這篇文章主要介紹了安裝使用Mongoose來讓Node.js操作MongoDB的基礎(chǔ)教程,前端js+后端node+js操作MongoDB正是所謂最流行的一種JavaScript全棧開發(fā)方案,需要的朋友可以參考下
    2016-03-03

最新評(píng)論

乌拉特后旗| 花莲市| 溆浦县| 杭锦后旗| 监利县| 兴义市| 洛浦县| 赞皇县| 长沙县| 七台河市| 清镇市| 资溪县| 改则县| 巴南区| 化隆| 阳信县| 昌图县| 南宫市| 汽车| 乌审旗| 天津市| 金平| 江西省| 中方县| 桐城市| 宜丰县| 盖州市| 闵行区| 黄冈市| 洛隆县| 茌平县| 瑞安市| 页游| 鲁甸县| 昭觉县| 武隆县| 巴林右旗| 旅游| 崇州市| 海宁市| 禹州市|