速い、軽量で、自己閉じ込められ、NodeJSのWebフレームワークを使いやすい。
Stir Fryは、nodejsでWebサーバーを作成するためのフレームワークです。これにより、Webアプリやサーバーをすばやく簡単に作成できます。だから、ここにそれを作成する方法があります:
最初のステップは、炒め物を使用するサーバープログラムを作成することです。フォルダーを作成することから始めて、必要なものを何でも呼ぶことができます。
コンピューターに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をインストールする必要があります。
あなたがそれを正しく行ったと仮定すると、あなたは任意のWebブラウザーで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!")と入力することで、その応答を作成しました。
炒め物は、リクエストと応答オブジェクトを前処理する機能を提供します。基本的に、それはあなたがStirfryのために脱出とmodを書くことができることを意味します。これが例です
"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を使用すると、応答への入力が追加されます。
Stir Fryには、静的ファイルサーバーメソッドが組み込まれています。必要なのはこれだけです。
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( StirFry . static ( 'public' ) ) ;パブリックは、ファイルが提供されるフォルダーです。
炒め物を使用すると、複数の非同期操作を一度に実行できます。 server.processレイヤーで必要なすべての前処理を行うことができ、それらのすべてが完了したら、 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 ) ;
} ) ;このプログラムは、 fs.readFileを使用して、応答オブジェクトにプロパティを追加し、ユーザーに送信します。これを行うには、より効率的な方法がたくさんあります。これは、Asyncの使用方法の単なる例です。
Stir Fryには、組み込みのresponse.sendFileメソッドがあります。例があります。
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . sendFile ( 'file.html' ) ;
} ) ; リクエスト、プリプロセッサ、またはプロセッサリスナーを作成すると、Regex Matchingによって特定のリクエストに制限するオプションがあります。これが例です:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( / /.*?/hi / , function ( request , response ) {
response . send ( "hi" ) ;
} ) ; request.paramsに配列としてアクセスして、Regexキャプチャグループにアクセスできます。 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 ) ;
} ) ;これは、組み込みのロガー拡張機能に似ています。使用方法は次のとおりです
"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の時点で、Stirfryはサーバーにカスタムレイヤーを作成できます。このための構文には、3つのfunctions server.createLayer 、 server.destroyLayer 、およびserver.placeLayerが含まれます。レイヤーの作成は、作成するレイヤーの名前である文字列を取ります。破壊層は作成レイヤーと同じですが、作成する代わりにITを削除します。場所レイヤーは、最初の入力と同じ名前を持つレイヤーが、2番目の入力の名前があるレイヤーの後に常に呼び出されるように、2つのレイヤーの名前を2つのレイヤーにします。
"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!' ) ;
} ) ; Stir Fryの元の著者はAlex Waese-Perlmanです
すべての貢献者のリスト
mit