国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Node.js與Sails ~項目結構與Mvc實現及日志機制

2019-11-20 11:28:08
字體:
來源:轉載
供稿:網友

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

Sails是一個Node.js的中間件架構,幫助我們很方便的構建WEB應用程序,網址:http://www.sailsjs.org/,它主要是在Express框架的基礎上發展起來的,擴展了新的功能組件,下面我們來看一下安裝方法

一 安裝Sails

npm -g install sails

二 建立一個Sails的項目

sails new testProject

三 啟動項目

cd testProject
sails lift

四 項目的結構,基于MVC理念

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

五 通過controller的action來渲染視圖

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

controller/action的內容

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

view-ejs的內容

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

調用的結果如下

如果進入index頁面可以直接寫控制器名稱

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

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

好了,到這樣一個最簡單的MVC的DEMO就做好了,下一節我們將引用Model,即數據持久化的機制,進行對數據表的curd操作,敬請期待...

ps:Node.js與Sails~日志機制

看到Sails的日志就會想起來log4net,確實它們在很多地方是相似的,都是采用分級別記錄的方式,而sails我覺得在使用上更加方便,它不需要我們做多于的事情,直接sails.log.級別("你的日志內容")就搞定了,你不需要關心什么單例,或者持久化方式,Sails的日志只是對console.log的一種補充,可以理解為分了類之后的console.log,并有顏色的區分,呵呵。

一 我們來看一下sails.log的日志級別

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

二 開始測試我們的日志

        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日志!');

三 配置項目的日志級別,位于config/log.js

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

四 從結果中看到,日志記錄時,只記錄比當前配置級別低的日志內容

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 司法| 甘泉县| 高邮市| 满城县| 鄄城县| 沁源县| 县级市| 昌宁县| 简阳市| 西藏| 盐城市| 华宁县| 湛江市| 望谟县| 昌吉市| 曲麻莱县| 巴楚县| 犍为县| 鄢陵县| 景德镇市| 烟台市| 高碑店市| 拉萨市| 自贡市| 河北省| 洪泽县| 启东市| 新丰县| 雅安市| 大足县| 抚松县| 长海县| 临沂市| 吉林省| 崇仁县| 诸暨市| 河池市| 娱乐| 濉溪县| 松潘县| 砚山县|