Sails.js 101

Sails.js (GitHub) je typ frameworku s konvencí nad konfigurací. To znamená, že je to filozofie podobná Ruby on Rails. Sails.js je skutečný MVC na rozdíl od Express.js, který spoléhá na vývojáře při přidávání ORM, jako je Mongoose. Sails.js používá Waterline ORM.

Chcete-li začít s Sails.js:

$ npm -g install [email protected]

Tím získáte příkaz sails a seznam dostupných možností můžete zobrazit pomocí:

$ npm sails -h

Použijme new příkaz k vygenerování aplikace (.../sails ):

$ sails new sails

Po vygenerování aplikace spusťte ji s lift :

$ cd sails
$ sails lift

Pokud nyní přejdete na http://localhost:1337, zobrazí se vám stránka Sails.js s pokyny a odkazy (obrázek 1).

Obrázek 1. Výchozí stránka Sails.js s několika pokyny a odkazy.

Pro generování zdrojů můžete použít tyto příkazy:

  • $ sails generate api NAME :Sestavení nového modelu a ovladače api/models/NAME.js and api/controllers/NAMEController.js
  • $ sails generate model NAME [attribute1:type1, attribute2:type2 ... ] :Vytvoření nového modelu api/models/NAME.js s atributy (volitelné).
  • $ sails generate controller NAME [action1, action2, ...] :Vytvoření nového ovladače api/controllers/NAMEController.js s akcemi (volitelné).
  • $ sails generate adapter NAME :Vytvoření nového adaptéru api/adapters/NAME .
  • $ sails generate generator NAME :Stavba nového generátoru.

Každý regulátor je strukturován jako modul s metodami. Tyto metody jsou akce, např. /controller/action . Každá akce má požadavek a odpověď. Jejich argumenty jsou zděděny od jejich protějšků Express.js. Pro ilustraci tohoto bodu vytvoříme ovladač a přidáme do něj nějaký vlastní kód pomocí metod Express.js —response.json() a response.redirect() .

Nejprve spusťte tento příkaz:

$ sails generate api user

Otevřete nově vytvořený soubor .../sails/api/controllers/UserController.js . V něm přidejte dvě akce „json“, která vypíše aktuální čas, a „buy-oauth“, která využije přesměrování:

module.exports = {
  json: function (request, response) {
    response.json({time: new Date()})
  },
  'buy-oauth': function (request, response) {
    return res.redirect('https://gum.co/oauthnode');
  }
};

Pokud přejdete na http://localhost:1337/user/json, uvidíte:

{   "time": "2014-09-09T14:59:28.377Z" }

A pokud přejdete na http://localhost:1337/user/buy-oauth , budete přesměrováni na Úvod do OAuth s Node.js [webapplog.com, 2014] stránku.

Závěrem tedy je, že pro někoho, kdo již zná Express.js, bude snadné psát ovladače v Sails.js. Kontroléry jsou prostředníky mezi pohledy a modely a obvykle obsahují většinu kódu a logiky! Další informace o konceptech Sails.js a jeho dokumentaci najdete na http://sailsjs.org/#/documentation/concepts a http://irlnathan.github.io/sailscasts.

[Sidenote]

Čtení blogových příspěvků je dobré, ale sledování videokurzů je ještě lepší, protože jsou poutavější.

Mnoho vývojářů si stěžovalo, že na Node je nedostatek dostupného kvalitního videomateriálu. Sledování videí na YouTube je rušivé a platit 500 $ za videokurz Node je šílené!

Jděte se podívat na Node University, která má na Node ZDARMA videokurzy:node.university.

[Konec vedlejší poznámky]

PS:Tento text je z mé nové knihy Pro Express.js.