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

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

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

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

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

一 安裝Sails

npm -g install sails

二 建立一個Sails的項目

sails new testProject

三 啟動項目

cd testProject
sails lift

四 項目的結(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ù)表的一種抽象,對于數(shù)據(jù)的持久化,sails提供了很多種,如本地文件,mysql,mongodb,redis等,對于sqlserver我們也可以找到第三方的組件。

五 通過controller的action來渲染視圖

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

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ù)為空表示用當前的action
  }
};

view-ejs的內(nèi)容

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

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

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

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

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

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

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

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

一 我們來看一下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'
};

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

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

相關(guān)文章

  • Nodejs中執(zhí)行的shell命令的代碼分享

    Nodejs中執(zhí)行的shell命令的代碼分享

    雖然nodejs運行時提供了和OS交互的諸多API命令,但是有些操作(例如:特定系統(tǒng)信息獲?。┻€是使用shell命令更加方便一些,下面就跟隨小編一起來看看有哪些是宜在nodejs中執(zhí)行的shell代碼吧
    2024-02-02
  • NodeJs操作MYSQL方法詳細介紹

    NodeJs操作MYSQL方法詳細介紹

    本章將了解如何在nodejs中操作Mysql,實際項目中不可能用workbench來進行增刪改查,而是用代碼操作,接下來我們講解一下如何在 nodejs中操作Mysql
    2022-08-08
  • Thinkjs3新手入門之如何使用靜態(tài)資源目錄

    Thinkjs3新手入門之如何使用靜態(tài)資源目錄

    最近在學習thinkjs3,發(fā)現(xiàn)有些地方還是有必要整理下的,下面這篇文章主要給大家介紹了關(guān)于Thinkjs3新手入門之如何使用靜態(tài)資源目錄的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-12-12
  • NodeJS前端自動化部署實現(xiàn)實例詳解

    NodeJS前端自動化部署實現(xiàn)實例詳解

    這篇文章主要為大家介紹了NodeJS前端自動化部署實現(xiàn)實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • Node.js視頻流應(yīng)用創(chuàng)建之后端的全過程

    Node.js視頻流應(yīng)用創(chuàng)建之后端的全過程

    這篇文章主要給大家介紹了關(guān)于創(chuàng)建Node.js視頻流應(yīng)用之后端的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-03-03
  • Node.js 回調(diào)函數(shù)實例詳解

    Node.js 回調(diào)函數(shù)實例詳解

    這篇文章主要介紹了Node.js 回調(diào)函數(shù)實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • nodejs?快速入門之事件循環(huán)

    nodejs?快速入門之事件循環(huán)

    這篇文章主要介紹了nodejs?快速入門之事件循環(huán)的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • 淺析node命令行交互原理

    淺析node命令行交互原理

    當我們使用腳手架去創(chuàng)建一個項目的時候,通常會通過命令行交互來獲取一些信息,比如填項目名稱,選擇項目模板,選擇版本,我們雖然經(jīng)常用到,但是想必對于其中的原理還是不太了解,本文將待大家詳細介紹一下node命令行的交互原理,需要的朋友可以參考下
    2023-05-05
  • 簡單兩步使用node發(fā)送qq郵件的方法

    簡單兩步使用node發(fā)送qq郵件的方法

    這篇文章主要介紹了簡單兩步使用node發(fā)送qq郵件的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • Node.js中的child_process模塊詳解

    Node.js中的child_process模塊詳解

    這篇文章主要給大家介紹了關(guān)于Node.js中child_process模塊的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-06-06

最新評論

长治市| 仙桃市| 新蔡县| 沙湾县| 吉木乃县| 陇南市| 屏边| 大同县| 盱眙县| 高尔夫| 称多县| 金华市| 南开区| 来安县| 泸水县| 德格县| 阳曲县| 威信县| 丹阳市| 凤山县| 保定市| 九龙县| 泽库县| 阜阳市| 九寨沟县| 阿拉善右旗| 长兴县| 宜宾市| 包头市| 宜黄县| 板桥市| 定兴县| 阿克苏市| 乐至县| 莆田市| 察雅县| 静宁县| 宜章县| 德化县| 博罗县| 蒙城县|