Express.js czy angular do obsługi tras w średniej aplikacji?
Jestem zupełnie nowy we wszystkim Nodejs / express/angular, i właśnie natknąłem się na pytanie, które mnie niepokoi.
Gdy masz średni stos, wydaje się, że trasy mogą być obsługiwane zarówno przez Express.js
, jak i Angular
.
Kątowe :
Na przykład, jeśli zdefiniuję trasę w Angular, mogę to zrobić tak:
var app = angular.module("app", []).config(function($routeProvider) {
$routeProvider.when('/login', {
templateUrl: '/templates/login.html',
controller: 'LoginController'
});
$routeProvider.when('/front', {
templateUrl: '/templates/front.html',
controller: 'FrontController'
});
$routeProvider.otherwise({redirectTo: '/front'})
});
Ale z ekspresem.js i do :
app.get('/',function(req,res){
res.sendfile('templates/angular.html');
});
Więc moje pytanie brzmi :
Kiedy używasz trasowania kątowego, a kiedy używasz express / align = "left" /
(mogę przegapić coś bardzo oczywistego tutaj, ale mam nadzieję, że możesz to wskazać)
1 answers
Te dwa służą różnym celom na jednej stronie aplikacji.
Aplikacja zrobi wszystkie CRUD (punkty końcowe, w których tworzysz/czytasz/aktualizujesz / usuwasz swoje rzeczy, na przykład: projekty, użytkownicy, rachunki itp.). Również to zrobić wszystkie rzeczy uwierzytelniania (jak /login
i /register
).
Wszystko to wymaga tras, ponieważ chciałbyś coś takiego /api/users
, aby złapać wszystkich użytkowników. Wszystkie te trasy, czyli trasy CRUD i trasy uwierzytelniania, trafiają do express.js
routera. Dlaczego tam? Ponieważ są to trasy zaplecza.
Z drugiej strony, masz swoją aplikację kątową, która zawiera wizualną część aplikacji i tam chcesz jakieś trasy. Chcesz /
, aby wskazać swój dom, chcesz /users
mieć stronę, na której lista użytkowników lub nawet /users/add
mieć stronę z formularzem do dodawania nowych użytkowników.
Możesz to zobaczyć w ten sposób:
Backend routes (express): są to trasy, o których użytkownik końcowy nie będzie musiał wiedzieć ani nawet z nich korzystać (twój angular aplikacja użyje ich do komunikacji z backendem do pracy z jego danymi, ale użytkownik końcowy nie umieści ich bezpośrednio w przeglądarce)).
Frontend routes (angular ones): są to trasy, które mapuje do różnych stron aplikacji i dlatego użytkownicy końcowi mogą korzystać z nich, aby uzyskać bezpośredni dostęp do niektórych części aplikacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-20 18:11:52