快速,轻巧,自我包含且易于使用Nodejs的Web框架。
炒菜是在Nodejs中制作Web服务器的框架。它使您能够快速,轻松地创建Web应用程序和服务器。因此,这是创建一个方法:
第一步是创建使用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!")您做出了响应。
炒菜使您能够预处理和响应对象进行预处理。基本上,这意味着您可以为马弯曲编写滋补和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时,请记录将输入附加到响应中。
炒面有一个内置的静态文件服务器方法。您需要做的就是:
"use strict" ;
let StirFry = require ( 'stirfry' ) ;
let server = new StirFry ( 8080 ) ;
server . request ( StirFry . static ( 'public' ) ) ;公共是文件从中提供的文件夹。
搅拌式炒菜使您可以一次运行多个异步操作。您可以在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将属性添加到响应对象,然后将其发送给用户。有很多更有效的方法来执行此操作,这只是如何使用async的一个示例。
炒面有一个内置response.sendFile 。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作为数组来访问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允许在服务器中创建自定义图层。此语法涉及三个函数server.createLayer , server.destroyLayer和server.placeLayer 。 Create Layer采用的字符串是要创建图层的名称。销毁图层与创建图层相同,但它将删除IT而不是创建它。位置层将取下两个层的名称,以使其具有与第一个输入相同的名称的图层,总是在具有第二个输入名称的图层之后被调用。
"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!' ) ;
} ) ; 弗莱的原始作者是亚历克斯·瓦斯·珀尔曼(Alex Waese-Perlman)
所有贡献者的清单
麻省理工学院