El marco web rápido , liviano , autónomo y fácil de usar para NodeJs.
STOUT Fry es un marco para hacer servidores web en NodeJs. Le permite crear rápida y fácilmente aplicaciones y servidores web. Entonces, aquí es cómo crear uno:
El primer paso es crear un programa de servidor que use salteado. Comience creando una carpeta, puede llamarlo como desee.
Asegúrese de tener Node.js instalados en su computadora. https://nodejs.org/en/download/
Luego navegue a esa carpeta en la terminal y ejecute este comando:
npm install stirfry
Eso instala salteado en la carpeta desde la que se ejecuta su servidor. A continuación, cree un archivo llamado server.js y ábralo con su editor de código favorito. Agregue este código:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . send ( "Hello World!" ) ;
} ) ; Para ejecutar server.js , escriba: node server.js
Asegúrese de estar en el mismo directorio que tiene el archivo server.js en el terminal
Si eso no funciona, intente: nodejs server.js
Si eso no funciona, debe instalar NodeJS.
Suponiendo que lo haya hecho bien, puede ir a localhost:8080 en cualquier navegador web y debería mostrar Hello World!
Configurar el servidor para igualar un new StirFry(8080) significaba que le estaba diciendo al servidor que escuchara cualquier solicitud en el puerto 8080. Luego llamando server.request agregó la entrada como respuesta para las solicitudes.
Después de que todos los oyentes hayan sido llamados, envía la respuesta al usuario. Puede agregar a la respuesta escribiendo
response . send ( "The thing you want to add to the response" ) ; Entonces, escribiendo response.send("Hello World!") Hiciste que la respuesta.
STOUT Fry le brinda la capacidad de preprocesar los objetos de solicitud y respuesta. Básicamente, eso significa que puede escribir exensiones y modificaciones para STOWfry. Aquí hay un ejemplo
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . pre ( function ( request , response ) {
//Now I can change the request and response object before the next code runs
request . doubleURL = request . url + request . url ;
}
server . request ( function ( request , response ) {
//Now I can access request.doubleURL, and I also can in every request listener
respose . send ( request . doubleURL ) ;
} ) ; Puede crear extensiones utilizando básicamente la misma sintaxis que un servidor normal y usarlas simplemente diciendo server.use(extension) , aquí hay un ejemplo de tener en cuenta, las extensiones no admiten agregar capas. Si desea crear capas en su extensión, cree una función que tome el servidor como una entrada y la llame.
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let extension = new StirFry . extension ( ) ;
//I can put more preprocessors and responders if I want
extension . pre ( function ( request , response ) {
request . doubleURL = request . url + request . url ;
} ) ;
let server = new StirFry ( 8080 ) ;
server . use ( extension ) ;
server . request ( function ( request , response ) {
//I can use request.doubleURL
response . send ( request . doubleURL ) ;
} ) ; "use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . send ( "Hello World!" ) ;
} ) ; ¡Este ejemplo crea un servidor en el puerto 8080 y lo establece para responder con Hello World! en cualquier solicitud. Cuando usa response.send SENDE, agrega la entrada a la respuesta.
STOCT tiene un método de servidor de archivos estático integrado. Todo lo que necesita hacer es esto:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( StirFry . static ( 'public' ) ) ;Public es la carpeta de la que se sirven los archivos.
SUCT Fry le permite ejecutar múltiples operaciones asíncronas a la vez. Puede hacer todo el preprocesamiento que desee en la capa de server.process , y luego, una vez que todos están listos, ejecuta los oyentes server.request server.pre
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
let fs = require ( 'fs' ) ;
server . pre ( function ( request , response , end , async ) {
async . start ( ) ;
fs . readFile ( 'file.txt' , function ( err , data ) {
response . data = data . toString ( ) ;
async . done ( ) ;
} ) ;
} ) ;
server . request ( function ( request , response ) {
response . send ( response . data ) ;
} ) ; Este programa usa fs.readFile para agregar una propiedad al objeto de respuesta y luego la envía al usuario. Hay muchas formas más eficientes de hacer esto, esto es solo un ejemplo de cómo usar async.
Salteado tiene una response.sendFile incorporada. Método de SendFile, aquí hay un ejemplo:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . sendFile ( 'file.html' ) ;
} ) ; Cuando crea una solicitud, preprocesador o oyente del procesador, tiene la opción de limitarla a ciertas solicitudes mediante la coincidencia de regex. Aquí hay un ejemplo:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( / /.*?/hi / , function ( request , response ) {
response . send ( "hi" ) ;
} ) ; Puede acceder a los grupos de captura de regex accediendo a request.params como una matriz. request.params también procesa cadenas de consulta en la solicitud.
Simplemente escriba server.use(thePluginObject)
La creación de complementos funciona de manera muy similar a la creación de servidores. La única diferencia es que usa new StirFry.extension() en lugar de new StirFry() . Entonces puede decir server.use(extension) y administra a todos los oyentes. Aquí hay un ejemplo
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let extension = new StirFry . extension ( ) ;
extension . req ( function ( request , response ) {
let log = `Request recieved with ${ request . post ? ` ${ request . post } as post and ` : `` } ${ request . fullUrl || request . url } as the url. Recieved from ${ request . ip } on ` + formatDate ( new Date ( ) ) ; //Format date is defined externally
console . log ( log ) ;
} ) ;Eso es similar a la extensión del registrador incorporada. Así es como puedes usarlo
"use strict" ;
let server = new StirFry ( 8080 ) ;
server . use ( extension ) ;El registrador integrado es una función que devuelve una extensión porque las personas pueden definir un archivo de registro
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . use ( StirFry . logger ( "logFile" ) ) ; Puede acceder a los datos de publicación accediendo a request.post Post como una matriz asociativa
A partir de 1.6.0, STOWfry permite la creación de capas personalizadas en el servidor. La sintaxis para esto implica las tres funciones server.createLayer , server.destroyLayer y server.placeLayer . Crear capa toma una cadena que es el nombre de la capa para crear. Destroy La capa es la misma que Crear capa, pero eliminará la TI en lugar de crearla. Place La capa tomará los nombres de dos capas, lo hará para que la capa que tenga el mismo nombre que la primera entrada, siempre se llama después de la capa que tiene el nombre de la segunda entrada.
"use strict" ;
let StirFry = require ( '../../stirfry.js' ) ;
let server = new StirFry ( 8080 , '0.0.0.0' ) ;
server . createLayer ( 'final' ) ;
server . placeLayer ( 'final' , 'request' ) ;
server . addListenerOnLayer ( 'final' , function ( req , res ) {
res . send ( 'Hello World!' ) ;
} ) ; El autor original de STOCT es Alex Waese-Perlman
Lista de todos los contribuyentes
MIT