Быстрый , легкий , самосповеденный и прост в использовании веб -структуры для Nodejs.
Fry Fry - это структура для изготовления веб -серверов в Nodejs. Это позволяет быстро и легко создавать веб -приложения и серверы. Итак, вот как его создать:
Первым шагом является создание серверной программы, которая использует Free Fry. Начните с создания папки, вы можете назвать ее все, что захотите.
Убедитесь, что на вашем компьютере установлен Node.js. https://nodejs.org/en/download/
Затем перейдите к этой папке в терминале и запустите эту команду:
npm install stirfry
Который устанавливает жар в папке, из которой работает ваш сервер. Затем создайте файл с названием server.js и откройте его с вашим любимым редактором кода. Добавьте этот код:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . send ( "Hello World!" ) ;
} ) ; Чтобы запустить server.js , введите: node server.js
Убедитесь, что вы находитесь в том же каталоге, в котором есть файл server.js в терминале
Если это не работает, попробуйте: nodejs server.js
Если это не работает, вы должны установить Nodejs.
Предполагая, что вы сделали это правильно, вы можете перейти в localhost:8080 в любом веб -браузере, и он должен показать Hello World!
Установка сервера для равного new StirFry(8080) означала, что вы говорили серверу прослушать любой запрос на порту 8080. Затем вызов server.request добавил вход в качестве ответа для запросов.
После того, как все слушатели были названы, это отправляет ответ пользователю. Вы можете добавить к ответу, написав
response . send ( "The thing you want to add to the response" ) ; Так что, набрав response.send("Hello World!") Вы сделали это ответом.
Fry Fry дает вам возможность предварительно обрабатывать объекты запроса и ответа. По сути, это означает, что вы можете написать выпуск и моды для Stripry. Вот пример
"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 ) ;
} ) ; Вы можете создавать расширения, используя в основном тот же синтаксис, что и обычный сервер, и использовать их, просто сказав server.use(extension) , вот пример, помните, что расширения не поддерживают добавление слоев. Если вы хотите создать слои в своем расширении, создайте функцию, которая принимает сервер в качестве ввода и вызовет его.
"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!" ) ;
} ) ; Этот пример создает сервер на порту 8080 и устанавливает его, чтобы ответить Hello World! по любому запросу. Когда вы используете response.send Стандарт, он добавляет вход в ответ.
Stream Fry имеет встроенный метод статического файлового сервера. Все, что вам нужно сделать, это это:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( StirFry . static ( 'public' ) ) ;Общественность - это папка, из которой файлы обслуживаются.
Fry Fry позволяет запускать несколько асинхронных операций одновременно. Вы можете выполнить всю желаемую предварительную обработку на server.process Процесс -слой, а затем, как только все это будет сделано, он запускает server.pre слушателей, и как только они будут выполнены, он запускает слушатели server.request .
"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 ) ;
} ) ; Эта программа использует fs.readFile для добавления свойства в объект ответа, а затем отправляет его пользователю. Существует множество более эффективных способов сделать это, это всего лишь пример того, как использовать асинхронность.
Fry Fry имеет встроенный метод response.sendFile , вот пример:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . sendFile ( 'file.html' ) ;
} ) ; При создании запроса, препроцессора или прослушивателя процессора у вас есть возможность ограничить его определенными запросами при сопоставлении REGEX. Вот пример:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( / /.*?/hi / , function ( request , response ) {
response . send ( "hi" ) ;
} ) ; Вы можете получить доступ к группам захвата коррекса, получив доступ к request.params в качестве массива. request.params также обрабатывает строки запроса в запросе.
Просто напишите server.use(thePluginObject)
Создание плагинов работает очень похоже на создание серверов. Единственное отличие - вы используете new StirFry.extension() вместо new StirFry() . Тогда вы можете сказать server.use(extension) , и он управляет всеми слушателями. Вот пример
"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 ) ;
} ) ;Это похоже на встроенное расширение Logger. Вот как вы можете его использовать
"use strict" ;
let server = new StirFry ( 8080 ) ;
server . use ( extension ) ;Встроенный регистратор - это функция, которая возвращает расширение, потому что люди могут определить файл журнала
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . use ( StirFry . logger ( "logFile" ) ) ; Вы можете получить доступ к данным публикации, обратившись к request.post в качестве ассоциативного массива
По состоянию на 1.6.0 STRIERFRY позволяет создавать пользовательские слои на сервере. Синтаксис для этого включает в себя три функции server.createLayer , server.destroyLayer и server.placeLayer . Создание слоя принимает строку, которая является именем слоя для создания. Уничтожить слой такой же, как и создать слой, но он удалит его вместо того, чтобы создать его. Поместите слой возьмет имена двух слоев.
"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!' ) ;
} ) ; Первоначальный автор Free Fry-Алекс Ваеса-Перлман
Список всех участников
Грань