Rapide , léger , autonome et facile à utiliser le cadre Web pour NodeJS.
Stir Fry est un cadre pour fabriquer des serveurs Web dans NodeJS. Il vous permet de créer rapidement et facilement des applications Web et des serveurs. Alors, voici comment en créer un:
La première étape consiste à créer un programme de serveur qui utilise Stir Fry. Commencez par créer un dossier, vous pouvez l'appeler tout ce que vous voulez.
Assurez-vous que Node.js est installé sur votre ordinateur. https://nodejs.org/en/download/
Accédez ensuite à ce dossier dans le terminal et exécutez cette commande:
npm install stirfry
Qui installe Stir Fry dans le dossier à partir duquel votre serveur fonctionne. Créez ensuite un fichier appelé server.js et ouvrez-le avec votre éditeur de code préféré. Ajouter ce code:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . send ( "Hello World!" ) ;
} ) ; Pour exécuter server.js , Type: node server.js
Assurez-vous que vous êtes dans le même répertoire qui a le fichier server.js dans le terminal
Si cela ne fonctionne pas, essayez: nodejs server.js
Si cela ne fonctionne pas, vous devez installer NodeJS.
En supposant que vous l'avez bien fait, vous pouvez aller à localhost:8080 dans n'importe quel navigateur Web et il devrait montrer Hello World!
La définition du serveur pour égaler un new StirFry(8080) signifiait que vous disiez au serveur d'écouter n'importe quelle demande sur le port 8080. Ensuite, l'appel server.request .
Une fois que tous les auditeurs ont été appelés, il envoie la réponse à l'utilisateur. Vous pouvez ajouter à la réponse en écrivant
response . send ( "The thing you want to add to the response" ) ; Donc, en tapant response.send("Hello World!") Vous avez fait la réponse.
Stir Fry vous donne la possibilité de prétraiter les objets de demande et de réponse. Fondamentalement, cela signifie que vous pouvez écrire des exensions et des mods pour le sauté. Voici un exemple
"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 ) ;
} ) ; Vous pouvez créer des extensions en utilisant essentiellement la même syntaxe qu'un serveur normal et les utiliser simplement en disant server.use(extension) , voici un exemple de maintien à l'esprit, les extensions ne prennent pas en charge l'ajout de couches. Si vous souhaitez créer des calques dans votre extension, créez une fonction qui prend le serveur comme entrée et appelez-le.
"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!" ) ;
} ) ; Cet exemple crée un serveur sur le port 8080 et le définit pour répondre avec Hello World! sur n'importe quelle demande. Lorsque vous utilisez response.send il ajoute l'entrée à la réponse.
Stir Fry a une méthode de serveur de fichiers statique intégrée. Tout ce que vous avez à faire est le suivant:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( StirFry . static ( 'public' ) ) ;Le public est le dossier dont les fichiers sont servis.
Stir Fry vous permet d'exécuter plusieurs opérations asynchrones à la fois. Vous pouvez faire tout le prétraitement que vous souhaitez dans la couche server.process , puis une fois que tout cela est terminé, il exécute server.pre Écouteurs, et une fois ceux-ci, il exécute server.request auditeurs.
"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 ) ;
} ) ; Ce programme utilise fs.readFile pour ajouter une propriété à l'objet de réponse, puis l'envoie à l'utilisateur. Il existe de nombreuses façons plus efficaces de le faire, ce n'est qu'un exemple de la façon d'utiliser l'async.
Stir Fry a une méthode response.sendFile intégrée.SendFile, voici un exemple:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . sendFile ( 'file.html' ) ;
} ) ; Lorsque vous créez une demande, un préprocesseur ou un écouteur de processeur, vous avez la possibilité de le limiter à certaines demandes par correspondance regex. Voici un exemple:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( / /.*?/hi / , function ( request , response ) {
response . send ( "hi" ) ;
} ) ; Vous pouvez accéder aux groupes de capture Regex en accédant request.params en tant que tableau. request.params traite également les chaînes de requête dans la demande.
Il suffit d'écrire server.use(thePluginObject)
La création de plugins fonctionne de manière très similaire à la création de serveurs. La seule différence est que vous utilisez new StirFry.extension() au lieu de new StirFry() . Ensuite, vous pouvez dire server.use(extension) et il gère tous les auditeurs. Voici un exemple
"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 ) ;
} ) ;Cela est similaire à l'extension en bûcheron intégrée. Voici comment vous pouvez l'utiliser
"use strict" ;
let server = new StirFry ( 8080 ) ;
server . use ( extension ) ;L'enregistreur intégré est une fonction qui renvoie une extension car les gens peuvent définir un fichier journal
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . use ( StirFry . logger ( "logFile" ) ) ; Vous pouvez accéder aux données du poste en accédant request.post
À partir de 1,6.0, la sauté permet la création de couches personnalisées dans le serveur. La syntaxe pour cela implique les trois fonctions server.createLayer , server.destroyLayer et server.placeLayer . Create Layer prend une chaîne qui est le nom du calque à créer. Detrère la couche est la même que Créer la couche mais elle supprimera l'IT au lieu de la créer. Place La couche prendra les noms de deux couches qu'il fera en le fera pour que la couche qui a le même nom que la première entrée soit toujours appelée après la couche qui a le nom de la deuxième entrée.
"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!' ) ;
} ) ; L'auteur original de Stir Fry est Alex Waese-Perlman
Liste de tous les contributeurs
Mit