1.0.0 • Published 9 years ago
x-server v1.0.0
x-server
前端开发辅助工具
安装
npm install x-server
启动
x-server start
修改配置文件命令
> x-server -fe 你的fe目录路径 // 设置fe目录
> x-server -p 默认端 如 c.h5 // 设置默认端
> x-server -b 分支名|分支编号 // 切换到分支
> x-server -t 保存配置文件 // 保存
分支编号可以使用x-server -b命令查看
必须有-t命令才可以会更新配置文件; 没有-t命令 -fe -p 只会被缓存, -b命令没有效果
>x-server -p c.h5 -fe c:/work/fe -b 1 -t
该命令会将fe目录更新为c:/work/fe
将c.h5指向branches目录下的第一个分支
并更新配置文件
查询配置信息的命令
> x-server -fe //查看fe目录
> x-server -p //查看业务端
> x-server -b //查看可配置的分支
> x-server -h //查看帮助
路由规则配置文件
./lib/router/router.json
格式
- pattern: 通用规则 ; 所有的url都会应用此规则转换 url.replace(regExp, replace) url包含域名
- regExp : 正则表达式
- replace: 替换规则
list: 其他规则配置(可以根据不同的域名配置不同的根目录)
- 支持(*)通配符,但是优先完整域名配置
- directory 域名指向的根目录
- regExp 正则
- replace 替换规则
也可以直接配置根目录
如下面的配置:
{ "pattern": { "regExp": "^([^\\/]*)(?:\\/revs){1}(.+)(?:_[a-z0-9]{8}){1}(.*)", "replace": "$1$2$3" }, "list": { "*static.com": { "directory": "d:/work/fe", "regExp": "(?:http[s]?:\/\/)?(\\w+)\\.(\\w+)\\.static\\.com(.*)", "replace": "/dev/$1/$2/trunk$3" }, "core.pc.static.com": "D:/work/fe" } }
若请求的url为http://c.pc.lietou-static.com/revs/v1/js/resume_12319023.js
//c.pc.static.com 与*.static.com匹配 //先进行通用规则转换 url = "c.pc.static.com/revs/v1/js/resume_12319023.js".replace(/^([^\/]*)(?:\/revs){1}(.+)(?:_[a-z0-9]{8}){1}(.*)/, '$1$2$3'); //url=c.pc.static.com/v1/js/resume.js //再执行*static.com的规则转换 url.replace(/(?:http[s]?:\/\/)?(\w+)\.(\w+)\.static\.com(.*)"/,'/dev/$1/$2/trunk/$3'); //最终生成相对于根目录的文件的绝对路径 url=/dev/c/pc/trunk/v1/js/resume.js //文件在本地的真实路径 d:/work/fe/dev/c/pc/trunk/v1/js/resume.js
若请求的url为http://core.pc.static.com/revs/v1/js/resume_12319023.js
//core.pc.static.com 优先匹配 "core.pc.static.com" //忽略*static.com 仅执行通用规则转换 //最终生成的文件路径为: /v1/js/resume.js
自定义服务
如果有需要也可以自定义请求处理,如:
//引入x-server var app = require('x-server'); var fs = require('fs'); var handler = app.handler; handler.add('/index', function (req, res) { //自定义处理/index请求 }); handler.add('/hello', function (req, res) { //自定义处理 /hello请求 //通过app.query获取传入的参数 app.query(req, function (err, data) { //回调函数参数第一个为异常对象, 没有异常则为null //第二个参数为解析后的请求参数, 是一个json格式的数据 res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end(JSON.stringify(data)); }); }); //启动服务 app.start();
1.0.0
9 years ago
0.3.5
9 years ago
0.3.4
9 years ago
0.3.3
9 years ago
0.3.2
9 years ago
0.3.0
9 years ago
0.2.9
9 years ago
0.2.8
9 years ago
0.2.7
9 years ago
0.2.6
9 years ago
0.2.5
9 years ago
0.2.4
9 years ago
0.2.3
9 years ago
0.2.2
9 years ago
0.2.1
9 years ago
0.2.0
9 years ago
0.1.8
9 years ago
0.1.6
9 years ago
0.1.5
9 years ago
0.1.4
9 years ago
0.1.3
9 years ago
0.1.2
9 years ago
0.1.1
9 years ago
0.1.0
9 years ago