-
Notifications
You must be signed in to change notification settings - Fork 0
XFly插件制作教程
xuld edited this page Apr 23, 2014
·
1 revision
XFly 本身是一个 NodeJs 开发开源的可高度定制化的 web 服务器,用户可以用 JavaScript 为服务器开发各种插件以适应自己的项目需求。
假如我们需要开发这样一个插件:当用户请求页面时,服务器会自动记录此用户的浏览器版本。
新建插件文件 sum.js,可以放在任意位置。默认插件放在 xfly/server/modules/ 然后修改项目配置文件(data/server.json)来安装此插件:
"modules": {
"sum": "server/modules/sum.js"
}
为了能保存用户浏览器记录,必须先新建好一个数据文件。
// 这个函数将由服务器在初始化时自动调用。
// 参数 application 包含了服务器的所有信息。
exports.init = function(application){
console.log("初始化了");
var fs = require('utilskit/io');
var path = require('path');
fs.createFile(path.resolve(application.physicalPath, "sum.txt") );
};
// 这个函数将由服务器在接收到任意请求时自动调用。
// 参数 context 包含了服务器的所有信息。
exports.processRequest = function(context){
console.log("收到请求");
var ua = context.request.handlers["User-Agent"];
var application = context.applicationInstance;
var fs = require('utilskit/fs');
fs.appendFile(ua + "\r\n");
};
XFly 插件分 3 种:
- module:对整个服务器而言的插件,任何请求都会执行这个插件
- apps: 对特定地址进行处理的插件。
- handlers:对特定扩展名的文件进行处理的插件。