sails route(1) -用戶定義路由

前段時間學(xué)習(xí)了一下sails继谚,node下面一個mvc的web application框架走贪,它的思路借鑒了rails(ruby)。

sails支持兩種類型的路由:?custom(or "explicit") andautomatic(or "implicit").

先來看一下custom 即用戶定義路由吧,以下是學(xué)習(xí)筆記腻窒。

用戶定義路由

在config/routes.js中定義如下類似的路由:

module.exports.routes={

'get/signup': { view: 'conversion/signup' },

'post /signup':'AuthController.processSignup',

'get/login': { view: 'portal/login' },

'post /login':'AuthController.processLogin',

'/logout':'AuthController.logout',

'get /me':'UserController.profile'

}

有的將url指向某個controller的action滩字,有的則將url指向某個view

甚至還可以在路由中指定view使用的layout

'get /privacy': {

view:'users/privacy',

locals: {

layout:'users'

}

},

語法規(guī)則:

1.每個路由都必須包含地址和目標(biāo)

'GET /foo/bar':'FooController.bar'

^^^address^^^^^^^^^^target^^^^^^^

2.地址定義:

a.使用通配符和動態(tài)參數(shù)

比如:

'/user/foo/*'

'/user/foo/:name/bar/:age'

'/user/foo/*/bar/*'

b.正則表達(dá)式

"r||

list of param names>"

比如:

"r|^/\\d+/(\\w+)/(\\w+)$|foo,bar":"MessageController.myaction"

Will

match/123/abc/def, running themyactionaction ofMessageControllerand supplying the valuesabcanddefasreq.param('foo')andreq.param('bar')

c.路由地址匹配的順序

按照routes.js中的書寫順序進(jìn)行匹配造虏,一旦匹配成功御吞,便不會再往下繼續(xù)尋找(有高級的方法可以改變該規(guī)則,但不推薦)

3.路由目標(biāo)定義

a. controller/action的語法規(guī)則:

'GET /foo/go':'FooController.myGoAction',

'GET /foo/go':'Foo.myGoAction',

'GET /foo/go': {controller:"Foo", action:"myGoAction"},

'GET /foo/go': {controller:"FooController", action:"myGoAction"},

以上四種寫法等價漓藕。

需要注意的是陶珠,controller和action的名字是大小寫敏感的。

b.view目標(biāo)的語法規(guī)則:

'GET /team': {view:'brochure/about'}

c. Blueprint目標(biāo)的語法規(guī)則

'GET /findAllUsers': {model:'user', blueprint:'find'},

'GET /user/findAll': {blueprint:'find'}

'GET /user/findAll': {blueprint:'find', model:'pet'}

4.定義重定向(redirect)

'/alias' :'/some/other/route'

'GET /google':'http://www.google.com'

5.定義response

'/foo': {response:'notFound'}

6.function定義

路由可以直接指向某個function

'/foo':function(req, res) {res.send("FOO!");}

7.Policy target syntax

路由可以為target指定policy享钞,即在達(dá)到指定target時揍诽,必須先通過某個policy

'/foo': [{policy:'myPolicy'}, {blueprint:'find', model:'user'}]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市栗竖,隨后出現(xiàn)的幾起案子暑脆,更是在濱河造成了極大的恐慌,老刑警劉巖狐肢,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件添吗,死亡現(xiàn)場離奇詭異,居然都是意外死亡份名,警方通過查閱死者的電腦和手機(jī)碟联,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來僵腺,“玉大人鲤孵,你說我怎么就攤上這事〕饺纾” “怎么了普监?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長琉兜。 經(jīng)常有香客問我鹰椒,道長,這世上最難降的妖魔是什么呕童? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任漆际,我火速辦了婚禮,結(jié)果婚禮上夺饲,老公的妹妹穿的比我還像新娘奸汇。我一直安慰自己,他們只是感情好往声,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布擂找。 她就那樣靜靜地躺著,像睡著了一般浩销。 火紅的嫁衣襯著肌膚如雪贯涎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天慢洋,我揣著相機(jī)與錄音塘雳,去河邊找鬼陆盘。 笑死,一個胖子當(dāng)著我的面吹牛败明,可吹牛的內(nèi)容都是我干的隘马。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼妻顶,長吁一口氣:“原來是場噩夢啊……” “哼酸员!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起讳嘱,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤幔嗦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后沥潭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體邀泉,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年叛氨,在試婚紗的時候發(fā)現(xiàn)自己被綠了呼渣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棘伴。...
    茶點(diǎn)故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡寞埠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出焊夸,到底是詐尸還是另有隱情仁连,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布阱穗,位于F島的核電站饭冬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏揪阶。R本人自食惡果不足惜昌抠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鲁僚。 院中可真熱鬧炊苫,春花似錦、人聲如沸冰沙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拓挥。三九已至唠梨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間侥啤,已是汗流浹背当叭。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工茬故, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人科展。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓均牢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親才睹。 傳聞我的和親對象是個殘疾皇子徘跪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)琅攘,斷路器垮庐,智...
    卡卡羅2017閱讀 134,716評論 18 139
  • 前言 入手Node.js半年哨查,從用Express開發(fā)自己的博客到用Sails開發(fā)公司項(xiàng)目,深深被Sails震撼了剧辐。...
    JC_Huang閱讀 13,436評論 4 34
  • Address:https://www.zybuluo.com/XiangZhou/note/208532 Exp...
    天蠍蒗漫閱讀 11,328評論 2 55
  • 22年12月更新:個人網(wǎng)站關(guān)停寒亥,如果仍舊對舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,191評論 22 257
  • 和我一起租房子的小洪同學(xué)半個月前回老家了,我們的友誼也只維持了一個月而已荧关,她是整個七月 G姑娘告訴我她也想回家了溉奕,...
    鹿色槿閱讀 151評論 0 0