Szukaj…


Wprowadzenie

Ten przykład pokazuje, jak utworzyć podstawową aplikację ekspresową, a następnie obsługiwać AngularJS.

Tworzymy nasz projekt.

Jesteśmy gotowi, więc znów uruchamiamy z konsoli:

mkdir our_project
cd our_project

Teraz jesteśmy w miejscu, w którym będzie żył nasz kod. Aby utworzyć główne archiwum naszego projektu, możesz uruchomić

Ok, ale jak tworzymy projekt szkieletu ekspresowego?

To proste:

npm install -g express express-generator

Linuxowe dystrybucje i Mac powinny używać sudo, aby to zainstalować, ponieważ są zainstalowane w katalogu nodejs, do którego dostęp ma tylko użytkownik root . Jeśli wszystko pójdzie dobrze, możemy w końcu stworzyć szkielet aplikacji ekspresowej, po prostu uruchomić

express

To polecenie utworzy w naszym folderze ekspresową przykładową aplikację. Struktura jest następująca:

bin/
public/
routes/
views/
app.js
package.json

Teraz, jeśli uruchomimy npm, zacznijmy od http: // localhost: 3000 zobaczymy, że aplikacja ekspresowa jest uruchomiona i działa, wystarczy, że wygenerowaliśmy aplikację ekspresową bez większych problemów, ale jak możemy to połączyć z AngularJS? .

Jak działa ekspres, krótko?

Express to platforma zbudowana na bazie Nodejs , oficjalną dokumentację można zobaczyć na stronie Express . Ale dla naszego celu musimy wiedzieć, że Express jest odpowiedzialny, gdy piszemy, na przykład http: // localhost: 3000 / home renderowania strony głównej naszej aplikacji. Z nowo utworzonej aplikacji możemy sprawdzić:

FILE: routes/index.js
var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

module.exports = router;

Ten kod mówi nam, że kiedy użytkownik przechodzi do http: // localhost: 3000 , musi wyświetlić widok indeksu i przekazać JSON z właściwością title i wartością Express. Ale gdy sprawdzimy katalog views i otworzymy plik index.jade, możemy zobaczyć:

extends layout
block content
    h1= title
    p Welcome to #{title}

Jest to kolejna potężna funkcja Express, silniki szablonów , które umożliwiają renderowanie treści na stronie poprzez przekazywanie do niej zmiennych lub dziedziczenie innego szablonu, dzięki czemu strony są bardziej zwarte i lepiej zrozumiałe dla innych. Rozszerzenie pliku to .jade, o ile wiem, Jade zmieniła nazwę dla Puga , w zasadzie jest to ten sam silnik szablonów, ale z pewnymi aktualizacjami i modyfikacjami rdzenia.

Instalowanie wtyczki i aktualizowanie silnika szablonów Express.

Ok, aby zacząć używać Puga jako silnika szablonów naszego projektu, musimy uruchomić:

npm install --save pug

Spowoduje to zainstalowanie Puga jako zależności naszego projektu i zapisanie go w pliku package.json . Aby go użyć, musimy zmodyfikować plik app.js :

var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');

I zamień silnik linii widoku na mops i to wszystko. Możemy ponownie uruchomić nasz projekt z uruchomieniem npm i zobaczymy, że wszystko działa dobrze.

Jak AngularJS pasuje do tego wszystkiego?

AngularJS to framework JavaScript MVW (Model-View-Whthing) używany głównie do tworzenia instalacji SPA (Simple Page Application) instalacja jest dość prosta, możesz przejść do strony AngularJS i pobrać najnowszą wersję v1.6.4 .

Po pobraniu AngularJS, kiedy należy skopiować plik do naszego folderu publicznego / javascripts w naszym projekcie, małe wyjaśnienie, jest to folder, który obsługuje statyczne zasoby naszej witryny, obrazy, css, pliki javacript i tak dalej. Oczywiście można to skonfigurować za pomocą pliku app.js , ale my uprościmy to. Teraz tworzymy plik o nazwie ng-app.js , plik, w którym będzie mieszkała nasza aplikacja, w folderze publicznym javascripts, właśnie tam, gdzie mieszka AngularJS. Aby uruchomić AngularJS, musimy zmodyfikować zawartość views / layout.pug w następujący sposób:

doctype html
html(ng-app='first-app')
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
  body(ng-controller='indexController')
    block content

  script(type='text-javascript', src='javascripts/angular.min.js')
  script(type='text-javascript', src='javascripts/ng-app.js')

Co my tutaj robimy ?, cóż, uwzględniamy rdzeń AngularJS i nasz niedawno utworzony plik ng-app.js, więc kiedy szablon jest renderowany, uruchomi AngularJS, zauważ użycie dyrektywy ng-app , to mówi AngularJS, że to jest nazwa naszej aplikacji i powinna się jej trzymać.
Tak więc zawartość naszego pliku ng-app.js będzie:

angular.module('first-app', [])
       .controller('indexController', ['$scope', indexController]);

function indexController($scope) {
    $scope.name = 'sigfried';
}

Używamy tutaj najbardziej podstawowej funkcji AngularJS, dwukierunkowego wiązania danych , co pozwala nam odświeżyć zawartość naszego widoku i kontrolera natychmiast, jest to bardzo proste wyjaśnienie, ale możesz przeprowadzić badanie w Google lub StackOverflow, aby zobaczyć jak to naprawdę działa.

Mamy więc podstawowe bloki naszej aplikacji AngularJS, ale jest coś, co musimy zrobić, musimy zaktualizować naszą stronę index.pug, aby zobaczyć zmiany w naszej aplikacji kątowej, zróbmy to:

extends layout
block content
  div(ng-controller='indexController')
    h1= title
    p Welcome {{name}}
    input(type='text' ng-model='name')

Tutaj po prostu wiążemy dane wejściowe z naszą zdefiniowaną nazwą właściwości w zakresie AngularJS wewnątrz naszego kontrolera:

$scope.name = 'sigfried';

Celem tego jest to, że ilekroć zmienimy tekst w danych wejściowych, powyższy akapit zaktualizuje jego zawartość w {{name}}, nazywa się to interpolacją , co jest kolejną funkcją AngularJS służącą do renderowania naszej zawartości w szablonie.

Tak więc wszystko jest skonfigurowane, możemy teraz uruchomić npm start, przejdź do http: // localhost: 3000 i zobacz naszą ekspresową aplikację obsługującą stronę oraz AngularJS zarządzający nakładką aplikacji.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow