Cepat , ringan , mandiri , dan mudah digunakan kerangka kerja web untuk nodeJs.
Tuma adalah kerangka kerja untuk membuat server web di nodeJs. Ini memungkinkan Anda untuk membuat aplikasi dan server web dengan cepat dan mudah. Jadi, inilah cara membuatnya:
Langkah pertama adalah membuat program server yang menggunakan tumis. Mulailah dengan membuat folder, Anda dapat menyebutnya apa pun yang Anda inginkan.
Pastikan Anda memiliki node.js yang diinstal di komputer Anda. https://nodejs.org/en/download/
Selanjutnya arahkan ke folder itu di terminal dan jalankan perintah ini:
npm install stirfry
Yang memasang tumis ke folder yang dijalankan oleh server Anda. Selanjutnya buat file yang disebut server.js dan buka dengan editor kode favorit Anda. Tambahkan kode ini:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . send ( "Hello World!" ) ;
} ) ; Untuk menjalankan server.js , ketik: node server.js
Pastikan Anda berada di direktori yang sama yang memiliki file server.js di terminal
Jika itu tidak berhasil, coba: nodejs server.js
Jika itu tidak berhasil, Anda harus menginstal nodeJs.
Dengan asumsi Anda telah melakukannya dengan benar, Anda dapat pergi ke localhost:8080 di browser web apa pun dan itu harus menampilkan Hello World!
Mengatur server untuk sama dengan new StirFry(8080) berarti Anda memberi tahu server untuk mendengarkan permintaan apa pun pada port 8080. Kemudian memanggil server.request menambahkan input sebagai respons untuk permintaan.
Setelah semua pendengar disebut, ia mengirimkan tanggapan kepada pengguna. Anda dapat menambahkan respons dengan menulis
response . send ( "The thing you want to add to the response" ) ; Jadi dengan mengetik response.send("Hello World!") Anda membuat tanggapannya.
Tumis memberi Anda kemampuan untuk melakukan preprocess objek permintaan dan respons. Pada dasarnya itu berarti Anda dapat menulis eksensi dan mod untuk aduk. Inilah contohnya
"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 ) ;
} ) ; Anda dapat membuat ekstensi menggunakan sintaks yang sama pada dasarnya dengan server normal dan menggunakannya hanya dengan mengatakan server.use(extension) , berikut adalah contoh yang perlu diingat, ekstensi tidak mendukung penambahan lapisan. Jika Anda ingin membuat lapisan di ekstensi Anda, buat fungsi yang mengambil server sebagai input dan memanggilnya.
"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!" ) ;
} ) ; Contoh ini membuat server di port 8080 dan mengaturnya untuk merespons dengan Hello World! atas permintaan apa pun. Saat Anda menggunakan response.send .
Tuma memiliki metode server file statis. Yang perlu Anda lakukan adalah ini:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( StirFry . static ( 'public' ) ) ;Publik adalah folder dari mana file dilayani.
Tumis memungkinkan Anda menjalankan beberapa operasi asinkron sekaligus. Anda dapat melakukan semua preprocessing yang Anda inginkan server.pre lapisan server.process 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 ) ;
} ) ; Program ini menggunakan fs.readFile untuk menambahkan properti ke objek respons dan kemudian mengirimkannya ke pengguna. Ada banyak cara yang lebih efisien untuk melakukan ini, ini hanyalah contoh cara menggunakan async.
Tumis memiliki response.sendFile yang dibangun. Metode Sendfile, berikut adalah contohnya:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( function ( request , response ) {
response . sendFile ( 'file.html' ) ;
} ) ; Saat Anda membuat permintaan, preprocessor, atau pendengar prosesor, Anda memiliki opsi untuk membatasi permintaan tertentu dengan pencocokan regex. Inilah contohnya:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( / /.*?/hi / , function ( request , response ) {
response . send ( "hi" ) ;
} ) ; Anda dapat mengakses grup penangkapan regex dengan mengakses request.params sebagai array. request.params juga memproses string kueri dalam permintaan.
Cukup tulis server.use(thePluginObject)
Membuat plugin berfungsi dengan cara yang sangat mirip dengan membuat server. Satu -satunya perbedaan adalah Anda menggunakan new StirFry.extension() alih -alih new StirFry() . Kemudian Anda dapat mengatakan server.use(extension) dan itu mengelola semua pendengar. Inilah contohnya
"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 ) ;
} ) ;Itu mirip dengan ekstensi logger bawaan. Inilah cara Anda dapat menggunakannya
"use strict" ;
let server = new StirFry ( 8080 ) ;
server . use ( extension ) ;Logger bawaan adalah fungsi yang mengembalikan ekstensi karena orang dapat mendefinisikan file log
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . use ( StirFry . logger ( "logFile" ) ) ; Anda dapat mengakses data pos dengan mengakses request.post sebagai array asosiatif
Pada 1.6.0 Stirfry memungkinkan pembuatan lapisan khusus di server. Sintaks untuk ini melibatkan tiga fungsi server.createLayer , server.destroyLayer , dan server.placeLayer . Buat Layer mengambil string yang merupakan nama lapisan untuk dibuat. Hancurkan Layer sama dengan Create Layer tetapi akan menghilangkannya alih -alih membuatnya. Lapisan tempat akan mengambil nama dua lapisan itu akan membuatnya sehingga lapisan yang memiliki nama yang sama dengan input pertama, selalu dipanggil setelah lapisan yang memiliki nama input kedua.
"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!' ) ;
} ) ; Penulis asli Tadur adalah Alex Waese-Perlman
Daftar semua kontributor
Mit