欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Node.js與Sails ~項(xiàng)目結(jié)構(gòu)與Mvc實(shí)現(xiàn)及日志機(jī)制

 更新時(shí)間:2015年10月14日 11:58:37   作者:張占嶺  
Sails是一個(gè)Node.js的中間架構(gòu),很方便的幫助我們搭建web應(yīng)用程序。還有node.js與Sails日志機(jī)制在本文中也講到了,需要的朋友可以一起學(xué)習(xí)下

本文首先從sails的安裝講起接下來介紹node.js與Sails的日志機(jī)制,小伙伴們已經(jīng)迫不及待要看下文了吧,好吧。

Sails是一個(gè)Node.js的中間件架構(gòu),幫助我們很方便的構(gòu)建WEB應(yīng)用程序,網(wǎng)址:http://www.sailsjs.org/,它主要是在Express框架的基礎(chǔ)上發(fā)展起來的,擴(kuò)展了新的功能組件,下面我們來看一下安裝方法

一 安裝Sails

npm -g install sails

二 建立一個(gè)Sails的項(xiàng)目

sails new testProject

三 啟動(dòng)項(xiàng)目

cd testProject
sails lift

四 項(xiàng)目的結(jié)構(gòu),基于MVC理念

我們可以看到它與是由model,view,controller組成,它們之間的調(diào)用關(guān)系與.net mvc十分類似,只不過.net mvc里的model主要是指viewmodel,而在sails里model主要是數(shù)據(jù)模型,即.net里的Entity,它是數(shù)據(jù)表的一種抽象,對(duì)于數(shù)據(jù)的持久化,sails提供了很多種,如本地文件,mysql,mongodb,redis等,對(duì)于sqlserver我們也可以找到第三方的組件。

五 通過controller的action來渲染視圖

我們?cè)?net mvc里,大家都知道視圖是通過action的render方法進(jìn)行渲染的,其時(shí)sails也是這樣的,可以使用原生的render,也可以使用封裝好的view方法,而在視圖上直接使用你的action返回的對(duì)象即可。

controller/action的內(nèi)容

module.exports={
  index: function (req, res){
    return res.view("test/index",{title:"大叔",engTitle:"Lind"});
    //return res.view("view_name",data)//view_name參數(shù)為空表示用當(dāng)前的action
  }
};

view-ejs的內(nèi)容

<p>從action返回的對(duì)象-title:<%=title%></p>
<p>從action返回的對(duì)象-engTitle:<%=engTitle%></p>

調(diào)用的結(jié)果如下

如果進(jìn)入index頁(yè)面可以直接寫控制器名稱

如果其它action希望走/test這樣的路由,需要在config/route.js里進(jìn)行配置,如為add這個(gè)action添加路由為/user,它的設(shè)置如

'get /user': {view: 'user/add',locals: {layout: null}},
'get /test':{view:'test/index',locals:{layout:null}}

好了,到這樣一個(gè)最簡(jiǎn)單的MVC的DEMO就做好了,下一節(jié)我們將引用Model,即數(shù)據(jù)持久化的機(jī)制,進(jìn)行對(duì)數(shù)據(jù)表的curd操作,敬請(qǐng)期待...

ps:Node.js與Sails~日志機(jī)制

看到Sails的日志就會(huì)想起來log4net,確實(shí)它們?cè)诤芏嗟胤绞窍嗨频?,都是采用分?jí)別記錄的方式,而sails我覺得在使用上更加方便,它不需要我們做多于的事情,直接sails.log.級(jí)別("你的日志內(nèi)容")就搞定了,你不需要關(guān)心什么單例,或者持久化方式,Sails的日志只是對(duì)console.log的一種補(bǔ)充,可以理解為分了類之后的console.log,并有顏色的區(qū)分,呵呵。

一 我們來看一下sails.log的日志級(jí)別

Priority level Log fns visible
0 silent N/A
1 error .error()
2 warn .warn(), .error()
3 debug .debug(), .warn(), .error()
4 info .info(), .debug(), .warn(), .error()
5 verbose .verbose(), .info(), .debug(), .warn(), .error()
6 silly .silly(), .verbose(), .info(), .debug(), .warn(), .error()

二 開始測(cè)試我們的日志

        sails.log('debug日志!');//sails.log.debug("debug")
        sails.log.error('error日志!');
        sails.log.warn('warn日志!','request aborted.');
        sails.log.info('info日志!');
        sails.log.verbose('verbose日志!');
        sails.log.silly('silly日志!');

三 配置項(xiàng)目的日志級(jí)別,位于config/log.js

module.exports.log = {
   level: 'info'
};

四 從結(jié)果中看到,日志記錄時(shí),只記錄比當(dāng)前配置級(jí)別低的日志內(nèi)容

怎么樣,sails的日志挺方便吧!

相關(guān)文章

  • 簡(jiǎn)單實(shí)現(xiàn)node.js圖片上傳

    簡(jiǎn)單實(shí)現(xiàn)node.js圖片上傳

    這篇文章主要為大家詳細(xì)介紹了node.js圖片上傳的簡(jiǎn)單實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 使用Express處理請(qǐng)求和托管靜態(tài)資源方式

    使用Express處理請(qǐng)求和托管靜態(tài)資源方式

    這篇文章主要介紹了使用Express處理請(qǐng)求和托管靜態(tài)資源方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Node.js動(dòng)手?jǐn)]一個(gè)靜態(tài)資源服務(wù)器的方法

    Node.js動(dòng)手?jǐn)]一個(gè)靜態(tài)資源服務(wù)器的方法

    這篇文章主要介紹了Node.js動(dòng)手?jǐn)]一個(gè)靜態(tài)資源服務(wù)器的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • node創(chuàng)建Vue項(xiàng)目步驟詳解

    node創(chuàng)建Vue項(xiàng)目步驟詳解

    在本篇文章里小編給大家整理的是關(guān)于node創(chuàng)建Vue項(xiàng)目步驟詳解內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-03-03
  • Node.js基礎(chǔ)入門之path模塊,url模塊,http模塊使用詳解

    Node.js基礎(chǔ)入門之path模塊,url模塊,http模塊使用詳解

    這篇文章主要為大家介紹了Node.js中的三個(gè)模塊(path、url、http)的使用詳解,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-03-03
  • Node中使用ES6語(yǔ)法的基礎(chǔ)教程

    Node中使用ES6語(yǔ)法的基礎(chǔ)教程

    隨著google和firfox以及node6.0對(duì)es6的支持,es6語(yǔ)法的定稿使它越來越受到關(guān)注,尤其是react項(xiàng)目基本上都是用es6來寫的。下面這篇文章主要給大家介紹了關(guān)于Node中使用ES6語(yǔ)法的基礎(chǔ)教程,需要的朋友可以參考下。
    2018-01-01
  • Nest 復(fù)雜查詢示例解析

    Nest 復(fù)雜查詢示例解析

    這篇文章主要為大家介紹了Nest 復(fù)雜查詢示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • nodejs實(shí)現(xiàn)黑名單中間件設(shè)計(jì)

    nodejs實(shí)現(xiàn)黑名單中間件設(shè)計(jì)

    最近寫的項(xiàng)目中涉及到防止灌水的功能,于是設(shè)計(jì)了黑名單中間件,跟大家分享一下,同時(shí)也希望大家有好的建議能夠拍磚.
    2014-06-06
  • nodejs一個(gè)簡(jiǎn)單的文件服務(wù)器的創(chuàng)建方法

    nodejs一個(gè)簡(jiǎn)單的文件服務(wù)器的創(chuàng)建方法

    這篇文章主要介紹了nodejs一個(gè)簡(jiǎn)單的文件服務(wù)器的創(chuàng)建方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 深入分析node.js的異步API和其局限性

    深入分析node.js的異步API和其局限性

    這篇文章首先給大家介紹了為什么要用異步API,其次node.js異步api在使用過程有一些什么樣的限制呢,對(duì)于這個(gè)問題我們下面來看看這篇關(guān)于node.js異步的介紹分析吧,有需要的可以參考借鑒。
    2016-09-09

最新評(píng)論