通用中间件 Middl
- 授权协议: MIT
- 开发语言: JavaScript
- 操作系统: 跨平台
- 软件首页: https://github.com/joakimbeng/middl
- 软件文档: https://github.com/joakimbeng/middl/blob/master/README.md
- 官方下载: https://github.com/joakimbeng/middl/archive/master.zip
软件介绍
Middl 是采用JS编写的通用中间件。
安装
npm install --save middl
模块使用:
const middl = require('middl');
const app = middl();
// a sync middleware
app.use((input, output) => {
output.prop = 1;
});
// an async middleware
app.use((input, output) => {
// Faking a time consuming task...
return new Promise(resolve => {
setTimeout(() => {
output.prop += 1;
resolve();
}, 10);
});
});
// a time measuring logger:
app.use((input, output) => {
var start = new Date();
next()
.then(() => {
var ms = new Date() - start;
console.log('Done in %s ms', ms);
});
});
// or even prettier with generator functions:
app.use(function *(input, output) {
var start = new Date();
yield next();
var ms = new Date() - start;
console.log('Done in %s ms', ms);
});
// or when using Babel and async/await:
app.use(async (input, output) => {
var start = new Date();
await next();
var ms = new Date() - start;
console.log('Done in %s ms', ms);
});
// pass in the initial `input` and `output` objects
// and run the middleware stack:
app.run({val: 'hello'}, {})
.then(output => {
// output.prop === 2
});示例代码:
const http = require('http');
const middl = require('middl');
// Make middl more Express like by using `url` as the property to match paths with:
const app = middl({pathProperty: 'url'});
// Adding all app.METHOD() functions à la Express:
http.METHODS.forEach(method => {
app[method.toLowerCase()] = app.match({method});
});
// Also the app.all():
app.all = (path, fn) => {
http.METHODS.forEach(method => {
app[method.toLowerCase()](path, fn);
});
return app;
};
// A route handler for requests to: GET /test
app.get('/test', (req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('ok\n');
});
// A route handler for requests to: POST /test
app.post('/test', (req, res) => {
res.writeHead(202, {'Content-Type': 'text/plain'});
res.end('accepted\n');
});
// Make the middle app web server listen on port 3000:
http.createServer(app).listen(3000);
闪魂FLASH8网站建设实录
马谧铤 / 中国林业 / 2006-7 / 46.00元
《闪魂FLASH8网站建设实录》旨在提供以Flash(Flash 8.0为创作工具)为技术核心的整套互动网站的开发思路,其中包括了网站策划、平面设计、程序设计等实用的互联网应用技术。内容包括Photoshop CS2设计,FIash 8创作和ActionScript应用程序开发的操作流程。在技术学习的过程中.大家还将体会到顶级互动网站设计、网站建设的设计流程和思路。《闪魂FLASH8网站建设实录》......一起来看看 《闪魂FLASH8网站建设实录》 这本书的介绍吧!
