1.0.0 • Published 10 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
10 years ago
0.3.5
10 years ago
0.3.4
10 years ago
0.3.3
10 years ago
0.3.2
10 years ago
0.3.0
10 years ago
0.2.9
10 years ago
0.2.8
10 years ago
0.2.7
10 years ago
0.2.6
10 years ago
0.2.5
10 years ago
0.2.4
10 years ago
0.2.3
10 years ago
0.2.2
10 years ago
0.2.1
10 years ago
0.2.0
10 years ago
0.1.8
10 years ago
0.1.6
10 years ago
0.1.5
10 years ago
0.1.4
10 years ago
0.1.3
10 years ago
0.1.2
10 years ago
0.1.1
10 years ago
0.1.0
10 years ago