ftb-前后端打通利器

前端之家收集整理的这篇文章主要介绍了ftb-前后端打通利器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

ftb

全称 frontend to backend,是一款用来贯穿前端与后端的项目。

###项目代码 http://git.oschina.net/hellovigoss/ftb

###项目背景 随着web开发的多元性,最基本的特征就是面向用户的前端开发与面向业务逻辑的后端开发职责分离、各司其职。
现有ajax方案还是不免使得前端开发人员与后端开发人员进行接口协商,约束调用url、变量等信息。
ftb即为了打通前后端所做之努力。

###工具特点

###使用方法

  • git clone
git clone http://git.oschina.net/hellovigoss/ftb
  • 安装运行时环境node,@L_502_1@
  • 编写全局配置
#js缺省配置
baseurl=http://myftb.com/ #项目根地址
dataType=json             #ajax数据交互类型
type=POST                 #ajax数据交互方式
cache=false               #ajax缓存配置
async=true                #是否同步
#自定义相关正则匹配配置
sectionReg=\/\/\@ftb *(.*?)\W*?(\/[\W\w]*?\/)?\W*?function *(\w*?)\(.*\)    #获取ftb描述段的正则
paramsReg=\@params?\W*(\w*).*ftb    #获取参数的循环正则
typeReg=\@(type)\W*(\w*).*ftb    #ajax单独配置相关正则
cacheReg=\@(cache)\W*(\w*).*ftb
dataTypeReg=\@(dataType)\W*(\w*).*ftb
asyncReg=\@(async)\W*(\w*).*ftb
#系统配置
shuffix=PHP               #扫描制定后缀文件
output=output.js          #输出文件
compress=on|off           #是否开启输出压缩
encoding=utf-8            #读取以及输出文件编码
output=ftb-output         #输出目录
outputFile=output.js      #合并输出文件
  • 后端直接进行业务开发
  • 按ftb注释规范进行注释
<?PHP
class Test extends Controller
{
    function __construct()
    {
        parent::__construct();


    }
    //@ftb actionAlias
    /**
     * @ns com.iflytek.ftb.demo ftb
     * @params $a ftb
     * @params b asdf asdf  ftb
     * @async true ftb
     * @cache true ftb
     * @type GET ftb
     */
    function action(){

    }
    //@ftb
    function anotherAction(){

    }

}
node ftb.js .
.
├── com
│   └── iflytek
│       └── ftb
│           └── demo.js
└── output.js
function asdf(a,b,cb){
    $.ajax({
        url:'http://myftb.com/asdf',type:'GET',dataType:'json',cache:'true',async:'true',data:{"a":a,"b":b},success:function(response){
            cb(response);
        }
    });
}
function anotherAction(cb){
    $.ajax({
        url:'http://myftb.com/anotherAction',type:'POST',cache:'false',data:{},success:function(response){
            cb(response);
        }
    });
}
function actionAlias(a,cb){
	$.ajax({
		url:'http://myftb.com/actionAlias',success:function(response){
			cb(response);
			}
		});
}
  • 前端引入使用
<script src="./ftb-output/output.js"></script>
<script src="./ftb-output/com/iflytek/ftb/demo.js"></script>
<script>
    var a,b;
    asdf(a,function(response){
            //do callback
            });
    anotherAction(function(response){
            //do callback
            });
    actionAlias(a,function(reseponse){
            //do callback
        });
</script>

###todo

  • 引入全局配置 done
  • 压缩模式/非压缩模式 done
  • 使用输出模板 done
  • 优化代码组织结构 done
  • 单个注释新增个性化配置项 done
  • 目录遍历读取采取异步模式增加大项目生成效率 done
  • 输出文件支持名字空间 done
  • 异步读取文件配置limit,防止同时打开文件操作符过多系统出错

###联系 hellovigoss@gmail.com

原文链接:https://www.f2er.com/ajax/163248.html

猜你在找的Ajax相关文章