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.
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
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
PliantConține fișierele care sunt disponibile public, cum ar fi fotografiile pe care le utilizează site-ul dvs., faviconul etc..
config
PliantAcesta 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 dateapplication.js
- setările generale ale aplicațieiassets.js
- setările activelor pentru CSS și JSbootstrap.js
- cod care va fi rulat înainte de lansarea aplicațieilocales
- dosarul care conține traduceripolicies.js
- configurarea gestionării drepturilor utilizatorilorroutes.js
- traseele sistemuluiviews.js
- vizualizați setările conexe sails.js
documentația conține informații detaliate despre fiecare dintre aceste dosare.
vizualizari
PliantOpiniile 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
PliantAcest dosar este compus dintr-un buchet de sub-dosare:
adaptoare
folder conține adaptoarele utilizate de aplicație lacontrolere
folder conține controlorii de aplicațiemodele
pliantpolitici
folder sunt reguli stocate pentru accesul utilizatorilor de aplicațieServicii
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.
Setările generale sunt stocate în config / application.js
fişier. Opțiunile configurabile pentru aplicație sunt:
numele aplicatiei
)port
)mediu inconjurator
)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.
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
Î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.
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 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ă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:
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
.
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.
Acestea sunt definite în / active / template-uri
și sunt încărcate așa cum am văzut mai sus.
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:
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.: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.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.