Che cos'è Express.js?


439

Io sono uno studente in Node.js .

  1. Che cos'è Express.js ?
  2. Qual è lo scopo di esso con Node.js?
  3. Perché effettivamente abbiamo bisogno di Express.js? Quanto è utile per noi utilizzare con Node.js?
  4. Che cos'è Redis ? Viene fornito con Express.js?

28
Scorri verso il basso fino alla risposta wiki della community (che ha +50 ricompensa). L'ho trovato più utile della risposta contrassegnata.
Shishir Gupta,

Risposte:


266

Questo è semplificarlo, ma Express.js sta a Node.js come Ruby on Rails o Sinatra sta a Ruby .

Express 3.x è un framework di applicazioni Web leggero che consente di organizzare l'applicazione Web in un'architettura MVC sul lato server. Puoi usare una varietà di scelte per il tuo linguaggio di template (come EJS , Jade e Dust.js ).

È quindi possibile utilizzare un database come MongoDB con Mongoose (per la modellazione) per fornire un back-end per l'applicazione Node.js. Express.js ti aiuta sostanzialmente a gestire tutto, dalle rotte, alla gestione di richieste e viste.

Redis è un archivio chiave / valore - comunemente usato per sessioni e memorizzazione nella cache nelle applicazioni Node.js. Puoi fare molto di più, ma è per questo che lo sto usando. Uso MongoDB per relazioni più complesse, come le relazioni utente <-> ordine <-> utente. Esistono moduli (in particolare connect-redis) che funzionano con Express.js. Dovrai installare il database Redis sul tuo server.

Ecco un link alla guida Express 3.x: https://expressjs.com/en/3x/api.html


20
Express è più simile a Sinatra piuttosto che a binari.
metà

11
Express è stato specificamente ispirato da Sinatra. Probabilmente la sua caratteristica più importante è il routing; rende inoltre disponibili tutti i middleware forniti da connect (al punto in cui probabilmente tutte le applicazioni tranne quelle più specifiche che necessitano del middleware connect useranno express).
ebohlman,

Direi che redis è in realtà l'ideale per relazioni complesse.
plus-

Il collegamento EJS è attualmente morto.
David Spector,

Davvero non capisco come MVC si collega a Express. Se ricordo bene Express non ha modelli e visualizzazioni. È un framework basato su middleware, non framework MVC. Per favore, spiegalo.
Gherman,

382

1) Che cos'è Express.js?

Express.js è un framework Node.js. È il framework più popolare al momento (il più recitato su NPM).

Inserisci qui la descrizione dell'immagine.

È basato sulla configurazione e sulla semplicità granulare del middleware Connect. Alcune persone confrontano Express.js con Ruby Sinatra con il voluminoso e supponente Ruby on Rails .

2) Qual è lo scopo di esso con Node.js?

Che non è necessario ripetere più volte lo stesso codice. Node.js è un meccanismo I / O di basso livello che ha un modulo HTTP. Se si utilizza semplicemente un modulo HTTP, sarà necessario implementare molto lavoro come l'analisi del payload, i cookie, l'archiviazione delle sessioni (in memoria o in Redis ), la selezione del giusto percorso basato su espressioni regolari . Con Express.js, è lì solo per te da usare.

3) Perché abbiamo davvero bisogno di Express.js? Quanto è utile per noi utilizzare con Node.js?

La prima risposta dovrebbe rispondere alla tua domanda. In caso contrario, prova a scrivere un piccolo server API REST in Node.js semplice (ovvero utilizzando solo moduli core) e quindi in Express.js. Quest'ultimo richiederà 5-10 volte meno tempo e righe di codice.

Che cos'è Redis? Viene fornito con Express.js?

Redis è un archivio di valori-chiave persistente veloce. Puoi opzionalmente usarlo per archiviare sessioni con Express.js, ma non è necessario. Per impostazione predefinita, Express.js dispone di memoria per le sessioni. Redis può anche essere utilizzato per accodare i lavori, ad esempio i lavori di posta elettronica.

Dai un'occhiata al mio tutorial sul server API REST con Express.js .

MVC ma non da solo

Express.js non è di per sé un framework modello-view-controller. Devi portare le tue librerie di mappatura relazionale agli oggetti come Mongoose per MongoDB, Sequelize ( http://sequelizejs.com ) per i database SQL, Waterline ( https://github.com/balderdashy/waterline ) per molti database nel pila.

alternative

Altri framework Node.js da considerare ( https://www.quora.com/Node-js/Which-Node-js-framework-is-best-for-building-a-RESTful-API ):

AGGIORNAMENTO: ho messo insieme questa risorsa che aiuta le persone a scegliere i framework Node.js: http://nodeframework.com

AGGIORNAMENTO2: Abbiamo aggiunto alcune statistiche di GitHub a nodeframework.com, quindi ora puoi confrontare il livello di prova sociale (stelle di GitHub) per oltre 30 framework su una pagina.

inserisci qui la descrizione dell'immagine

Full-stack:

Solo API REST:

Ruby on Rails come:

Sinatra piace:

Altro:

middleware:

Generatori di siti statici:


Sarà corretto dire che - Express.js è un modulo Node.js (che hai affrontato come framework nella tua prima riga). Ho sentito moduleabbastanza spesso il termine nodeJs . Il framework all'interno di un framework è una novità per me.
RBT

Sì, come nella pratica, Express È un modulo Node Package Manager (npm) (ovvero un pacchetto) in quanto viene aggiunto a un'applicazione come altri moduli da npm. (Se guardi la cartella di origine di un'applicazione Node Express, vedrai una cartella chiamata node_modules. Conterrà una sottocartella chiamata express.) Ma è molto più utile della maggior parte degli altri moduli di npm perché ha un carico di moduli dipendenti che forniscono efficacemente al programmatore di app un'API per attività comuni. Quadro all'interno di un quadro? Più come un framework di implementazione collegabile a un framework di creazione di server.
Trunk

15
  1. Che cos'è Express.js?

Express.js è un framework di server di applicazioni Web Node.js, progettato per la creazione di applicazioni Web a pagina singola, multipagina e ibrida. È di fatto il framework server standard per node.js.

Strutture basate su Express.

Diversi framework Node.js popolari sono basati su Express:

LoopBack: framework Node.js altamente estensibile e open source per la creazione rapida di API REST end-to-end dinamiche.

Vele: framework MVC per Node.js per la creazione di app pratiche e pronte per la produzione.

Kraken: livello sicuro e scalabile che estende Express fornendo struttura e convenzione.

SIGNIFICATO: framework JavaScript fullstack supponente che semplifica e accelera lo sviluppo di applicazioni Web.

  1. Qual è lo scopo di esso con Node.js?
  2. Perché effettivamente abbiamo bisogno di Express.js? Quanto è utile per noi utilizzare con Node.js?

Express aggiunge un semplice routing e supporto per il middleware Connect, consentendo numerose estensioni e funzioni utili.

Per esempio,

  • Vuoi sessioni? È lì
  • Vuoi analizzare il POST body / query string? È lì
  • Vuoi un semplice templating attraverso giada, baffi, ejs, ecc? È lì
  • Desideri una corretta gestione degli errori che non causi l'arresto anomalo dell'intero server?

10
  1. Express.js è un framework Web modulare per Node.js
  2. Viene utilizzato per semplificare la creazione di applicazioni e servizi Web
  3. Express.js semplifica lo sviluppo e semplifica la scrittura di applicazioni sicure, modulari e veloci. Puoi fare tutto ciò nel semplice vecchio Node.js, ma alcuni bug possono (e saranno) emergere, compresi problemi di sicurezza (ad es. Non fuggire correttamente una stringa)
  4. Redis è un sistema di database in memoria noto per le sue prestazioni veloci. No, ma puoi usarlo con Express.js usando un client redis

Non potrei essere più conciso di così. Per tutte le altre tue esigenze e informazioni, Google è tuo amico.


3

ExpressJS è un framework di applicazioni Web bare-bones in cima a NodeJS.

Può essere utilizzato per creare rapidamente WebApp, API RESTFUL, ecc.

Supporta più motori di template come Jade, EJS.

ExpressJS mantiene solo una funzionalità minimalista come funzionalità principali e come tale non ci sono ORM o DB supportati come impostazione predefinita. Ma con un po 'di sforzo le app expressjs possono essere integrate con diversi database.

Per una guida introduttiva sulla creazione di app ExpressJS, consultare il seguente collegamento:

Esercitazione introduttiva di ExpressJS


3

Express è un framework di moduli per Nodo che è possibile utilizzare per applicazioni basate su server / i che "ascolteranno" per eventuali richieste di input / connessione dai client. Quando lo usi in Node, sta solo dicendo che stai richiedendo l'uso del file Express incorporato dai tuoi moduli Node.

Express è il "backbone" di molte app Web che hanno il back-end in NodeJS. Da quello che so, la sua risorsa principale è la provvidenza di un sistema di routing che gestisce i servizi di "interazione" tra 2 host. Ci sono molte alternative per questo, come Sails.



0

Express.js creato da TJ Holowaychuk e ora gestito dalla community. È uno dei framework più popolari in node.js. Express può anche essere utilizzato per sviluppare vari prodotti come applicazioni Web o API RESTful. Per ulteriori informazioni, leggere sul sito ufficiale expressjs.com.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.