Rápido , leve , independente e fácil de usar a estrutura da Web para o NodeJS.
O Stir Fry é uma estrutura para criar servidores da Web no NodeJS. Ele permite que você crie rápida e facilmente aplicativos e servidores da Web. Então, aqui está como criar um:
A primeira etapa é criar um programa de servidor que use o Stir Fry. Comece criando uma pasta, você pode chamá -lo do que quiser.
Certifique -se de ter o Node.js instalado no seu computador. https://nodejs.org/en/download/
Em seguida, navegue para essa pasta no terminal e execute este comando:
npm install stirfry
Isso instala o Fry Fry na pasta do qual o servidor está funcionando. Em seguida, crie um arquivo chamado server.js e abra -o com seu editor de código favorito. Adicione este código:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . send ( "Hello World!" ) ;
} ) ; Para executar server.js , tipo: node server.js
Verifique se você está no mesmo diretório que possui o arquivo server.js no terminal
Se isso não funcionar, tente: nodejs server.js
Se isso não funcionar, você deve instalar o NodeJS.
Supondo que você tenha feito certo, você pode ir ao localhost:8080 em qualquer navegador da web e ele deve mostrar Hello World!
Configurar o servidor para ser igual a um new StirFry(8080) significava que você estava dizendo ao servidor para ouvir qualquer solicitação na porta 8080. Então chamando server.request adicionou a entrada como uma resposta para solicitações.
Depois que todos os ouvintes tenham sido chamados, envia a resposta ao usuário. Você pode adicionar à resposta escrevendo
response . send ( "The thing you want to add to the response" ) ; Então, digitando response.send("Hello World!") Você fez essa resposta.
O Stir Fry oferece a capacidade de pré -processar os objetos de solicitação e resposta. Basicamente, isso significa que você pode escrever Exensões e mods para Stirfry. Aqui está um exemplo
"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 ) ;
} ) ; Você pode criar extensões usando basicamente a mesma sintaxe que um servidor normal e usá -las apenas dizendo server.use(extension) , aqui está um exemplo lembre -se de que as extensões não suportam a adição de camadas. Se você deseja criar camadas em sua extensão, crie uma função que considera o servidor como uma entrada e chamá -lo.
"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 exemplo cria um servidor na porta 8080 e o define para responder com Hello World! a qualquer solicitação. Quando você usa response.send , ele anexa a entrada à resposta.
Stir Fry tem um método de servidor de arquivos estático incorporado. Tudo o que você precisa fazer é o seguinte:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( StirFry . static ( 'public' ) ) ;O público é a pasta da qual os arquivos são servidos.
O Stir Fry permite executar várias operações assíncronas de uma só vez. Você pode fazer todo o pré -processamento desejado na camada server.process e, depois que tudo isso for feito, ele executa 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 adicionar uma propriedade ao objeto de resposta e depois o envia ao usuário. Existem muitas maneiras mais eficientes de fazer isso, este é apenas um exemplo de como usar o Async.
Stir Fry tem um método de response.sendFile . Sendfile, aqui está um exemplo:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . sendFile ( 'file.html' ) ;
} ) ; Ao criar uma solicitação, pré -processador ou ouvinte de processador, você tem a opção de limitá -la a certas solicitações da correspondência de Regex. Aqui está um exemplo:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( / /.*?/hi / , function ( request , response ) {
response . send ( "hi" ) ;
} ) ; Você pode acessar grupos de captura regex acessando request.params como uma matriz. request.params também processa as seqüências de consultas na solicitação.
Basta escrever server.use(thePluginObject)
Criar plugins funciona de maneira muito semelhante à criação de servidores. A única diferença é que você usa new StirFry.extension() em vez de new StirFry() . Então você pode dizer server.use(extension) e ele gerencia todos os ouvintes. Aqui está um exemplo
"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 ) ;
} ) ;Isso é semelhante à extensão embutida de logger. Aqui está como você pode usá -lo
"use strict" ;
let server = new StirFry ( 8080 ) ;
server . use ( extension ) ;O madeireiro embutido é uma função que retorna uma extensão porque as pessoas podem definir um arquivo de log
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . use ( StirFry . logger ( "logFile" ) ) ; Você pode acessar os dados de postagem acessando request.post como uma matriz associativa
A partir de 1.6.0, o Stirfry permite a criação de camadas personalizadas no servidor. A sintaxe para isso envolve o três funções server.createLayer , server.destroyLayer e server.placeLayer . Criar camada leva uma string que é o nome da camada para criar. Destruir a camada é o mesmo que criar camada, mas removerá a TI em vez de criá -la. A camada do local levará os nomes de duas camadas que fará com que a camada com o mesmo nome da primeira entrada seja sempre chamada após a camada que tem o nome da 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!' ) ;
} ) ; O autor original de Stir Fry é Alex Waese-Perlman
Lista de todos os colaboradores
Mit