Introducere în Sails.js

Sails este un cadru Javascript conceput să semene cu arhitectura MVC din cadre precum Ruby on Rails. Procesul de construire a aplicațiilor Node.js facilitează, mai ales API-urile, aplicațiile de o singură pagină și funcțiile în timp real, cum ar fi chat-ul.


Instalare

Pentru a instala Sails, este destul de simplu. Cerințele preliminare sunt de a avea Node.js instalat și de asemenea npm, care vine cu Nodul. Apoi, trebuie să emiteți următoarea comandă în terminal:

sudo npm instalare sails -g

Creați un proiect nou

Pentru a crea un nou proiect Sails, se folosește următoarea comandă:

navighează noul MyNewProject

Sails va genera un nou dosar numit myNewProject și adăugați toate fișierele necesare pentru a avea o aplicație de bază construită. Pentru a vedea ce a fost generat, intră doar în myNewProject folder și rulați serverul Sails prin emiterea următoarei comenzi în terminal:

navighează înălțime

Portul implicit al Sails este 1337, deci dacă vizitați http: // localhost: 1337 trebuie să obțineți implicit Sails index.html pagină.


Acum, să aruncăm o privire la ceea ce a generat Sails pentru noi. În a noastră myNewProject folder, au fost create următoarele fișiere și sub-dosare:


bunuri Pliant

bunuri folderul conține subdirectoarele pentru fișierele Javascript și CSS care ar trebui încărcate în timpul rulării. Acesta este cel mai bun loc pentru a stoca bibliotecile auxiliare folosite de aplicația dvs..

public Pliant

Conține fișierele care sunt disponibile public, cum ar fi fotografiile pe care le utilizează site-ul dvs., faviconul etc..

config Pliant

Acesta este unul dintre dosarele importante. Sapele sunt proiectate pentru a fi flexibile. Acesta presupune anumite convenții standard, dar permite și dezvoltatorului să schimbe modul în care Sails configurează aplicația creată pentru a se potrivi nevoilor proiectului. Următoarea este o listă cu fișierele de configurare prezente în config pliant:

  • adapters.js - utilizat pentru a configura adaptoarele bazei de date
  • application.js - setările generale ale aplicației
  • assets.js - setările activelor pentru CSS și JS
  • bootstrap.js - cod care va fi rulat înainte de lansarea aplicației
  • locales - dosarul care conține traduceri
  • policies.js - configurarea gestionării drepturilor utilizatorilor
  • routes.js - traseele sistemului
  • views.js - vizualizați setările conexe

sails.js documentația conține informații detaliate despre fiecare dintre aceste dosare.

vizualizari Pliant

Opiniile aplicației sunt stocate în acest dosar. Privind conținutul său, observăm că vizualizările sunt generate în mod prestabilit ca EJS (embedded JavaScript). De asemenea vizualizari folder conține vederi pentru manipularea erorilor (404 și 500) și, de asemenea, fișierul de aspect (layout.ejs) și vizionările pentru controlerul de acasă, generate de Sails.

api Pliant

Acest dosar este compus dintr-un buchet de sub-dosare:

  • adaptoare folder conține adaptoarele utilizate de aplicație la
    gestiona conexiunile bazei de date
  • controlere folder conține controlorii de aplicație
  • modelele aplicației sunt stocate în modele pliant
  • în politici folder sunt reguli stocate pentru accesul utilizatorilor de aplicație
  • serviciile api implementate de aplicație sunt stocate în Servicii
    pliant

Configurați aplicația

Până acum am creat aplicația noastră și am aruncat o privire asupra a ceea ce a fost generat în mod implicit, acum este momentul să configurați aplicația pentru a se potrivi nevoilor noastre.

setari generale

Setările generale sunt stocate în config / application.js fişier. Opțiunile configurabile pentru aplicație sunt:

  • Numele aplicatiei (numele aplicatiei)
  • portul pe care aplicația va asculta (port)
  • mediul de aplicare; pot fi fie dezvoltare, fie producție (mediu inconjurator)
  • nivelul loggerului, utilizabil pentru a controla dimensiunea fișierului log (Buturuga)

Rețineți că prin setarea aplicației mediu inconjurator la producție, face pachetul Sails și miniaturile CSS și JS, ceea ce poate face mai dificilă depanarea.

Rutele

Căile de aplicație sunt definite în secțiunea config / routes.js fişier. După cum v-ați aștepta, acest fișier va fi cel cu care veți lucra cel mai adesea cu adăugarea de noi controlere în aplicație.

Rutele sunt exportate după cum urmează, în fișierul de configurare:

modul.exports.routes = // ruta la pagina de index a controlerului de acasă '/': controller: 'home', // ruta spre controlerul auth, actiunea login '/ login': controller: 'auth' , actiune: 'login', // rutare catre blog controller, adaugare actiune pentru a adauga o postare pe blog // nota ca folosim si metoda HTTP / verb inainte de calea 'post / blog / add': controller: 'blog', acțiune: 'add_post', // cale pentru a obține prima postare pe blog. Acțiunea de căutare va reveni // rândul bazei de date conținând informațiile dorite '/ blog /: item': controller: blog, action: find

Vizualizări

În ceea ce privește vizualizările, opțiunile configurabile sunt motorul șablon care va fi utilizat și dacă un aspect trebuie sau nu să fie utilizat, pentru vizualizări.


modele

Modelele reprezintă o reprezentare a datelor aplicațiilor stocate într-o bază de date. Modelele sunt definite folosind atribute și asociații. De exemplu, definiția a Persoană modelul ar putea arăta astfel:

// Person.js var Persoana = name: 'STRING', vârsta: 'INTEGER', birthDate: 'DATE', phoneNumber: 'STRING', emailAdresa: 'STRING'; export = persoană;

Comunicarea cu baza de date de bază se face prin adaptoare. Adaptorii sunt definiți în api / adaptoare și sunt configurate în adapters.js fişier. În momentul în care scrieți acest articol, Sails vine cu trei adaptoare: memorie, disc și mysql, dar puteți scrie propriul adaptor (consultați documentația pentru detalii).

Odată ce ați definit un model, puteți opera pe acesta, prin crearea de înregistrări, găsirea de înregistrări, actualizarea și distrugerea înregistrărilor.


controlerele

Controlerele sunt plasate în api / controlere. Un controler este creat utilizând următoarea comandă:

pasajele generează un comentariu al controlorului

Această comandă va genera a CommentController obiect. Acțiunile sunt definite în interiorul acestui obiect. De asemenea, pot fi generate acțiuni atunci când emiteți generați controlerul comanda:

pasajele generează comanda de comandă creați distrugeți tag-ul ca

Acest lucru va crea o cometariu controler cu acțiuni pentru crea, distruge, etichetă și ca.

Acțiunile primesc ca parametri obiectele de solicitare și de răspuns, care pot fi utilizate pentru obținerea parametrilor URI (obiectul cererii) sau a ieșirii în vizualizare (folosind obiectul răspuns).

Pentru a comunica cu modelul, se utilizează apelul înapoi al acțiunii potrivite. De exemplu, în cazul interogării unei baze de date cu găsi, următorul model este utilizat pentru a manipula modelul:

Blog.find (id) .done (err, blog) // blog este înregistrarea bazei de date cu consola.log (blog.content) specificată; 

Vizualizări

Vizualizările sunt utilizate pentru a gestiona interfața utilizator a aplicației. În mod implicit, vizualizările sunt gestionate utilizând EJS, dar poate fi utilizată orice altă bibliotecă templantă. Modul de configurare a vizualizărilor a fost discutat anterior în capitolul Configurare.

Viziunile sunt definite în / vizualizari director și șabloanele sunt definite în / assests / template-uri pliant.

Există în principal patru tipuri de vizualizări:

  • vizionări de la server
  • vizualizați paralele
  • layout views
  • viziuni de la client

Vizualizări pe server

Misiunea lor este să afișeze date atunci când o solicitare este solicitată de client. De obicei, metoda res.view corespunde unui client cu viziunea corespunzătoare. Dar dacă nu există un controler sau o acțiune pentru o solicitare, Sails va servi punctul de vedere în modul următor: /views/:controller/:action.ejs.

Vizualizarea aspectului

Aspectul poate fi găsit în /views/layout.ejs. Este folosit pentru a încărca activele aplicației, cum ar fi foile de stil sau bibliotecile JavaScript.

Aruncați o privire la fișierul specificat:

   <%- title %>    <%- assets.css() %> <%- assets.js() %>   <%- body %>  <%- assets.templateLibrary() %>  

Liniile assets.css () și assets.js () încărcați activele CSS și JS ale aplicației noastre și assets.templateLibrary încarcă șabloanele clientului.

Șabloane de pe partea clientului

Acestea sunt definite în / active / template-uri și sunt încărcate așa cum am văzut mai sus.


Rutele

Am discutat modul de configurare a rutelor în capitolul Configurare.

Există mai multe convenții pe care navigatoarele o urmează atunci când sunt tratate rutele:

  • dacă adresa URL nu este specificată în config / routes.js traseul implicit pentru o adresă URL este /: Controler /: actiune /: id cu semnificațiile evidente pentru controler și acțiune și id fiind parametrul de cerere derivat din adresa URL.
  • dacă :acțiune nu este specificată, Sails va redirecționa acțiunea corespunzătoare. În afara casetei, se folosesc aceleași convenții RESTful ca în Backbone.
  • dacă controlerul / acțiunea solicitată nu există, Sails se va comporta ca atare:
    • dacă există o vizualizare, Sails va afișa această vizualizare
    • dacă o vizualizare nu există, dar există un model, Sails va returna formularul JSON al acelui model
    • dacă niciuna dintre cele de mai sus nu există, Sails va răspunde cu 404

Concluzie

Acum, abia am zgâriat suprafața cu ceea ce pot face Sails, dar stați liniștit, deoarece voi urmări acest lucru printr-o prezentare în profunzime care vă va arăta cum să construiți o aplicație, folosind Sails.

Rețineți, de asemenea, că Sails este în curs de dezvoltare și se schimbă în mod constant. Deci, asigurați-vă că verificați documentația pentru a vedea ce este nou.

Cod