PyJs--一种全新的CommonJs的浏览器端实现
PyJs 2.0.1 alpha 今天发布~
这里的PyJs,不是已有的Pyjamas,而是依赖于python的一个符合commonjs规范的浏览器端JavaScript Framework。
PyJs有以下几个特点:
1. commonjs语法
2. 不需要如seajs requirejs等在每个模块加入无用的模板代码
3. 可以使用一个combo请求将所有依赖链文件全部取回
4. 没有combo服务的,可以在本地并行加载依赖链文件。
5. 本地python服务器,支持url转发,自定义插件,变量替换等功能
demo可以见百度连接的demo,就是基于PyJs实现的
demo
具体语法为:
子模块文件add.js:
exports.add = function() {
var sum = 0, i = 0, args = arguments, l = args.length;
while (i < l) {
sum += args[i++];
}
return sum;
};
另一个模块increment.js:
var add = require('math').add;
exports.increment = function(val) {
return add(val, 1);
};
increment需要math的内部方法时,直接require('math')即可
与SeaJs的对比如下
PyJs因为有环境依赖,所以不是很适合模板类项目使用。但是如果一个项目只有静态文件,如网页版聊天工具、map等富交互的产品,使用PyJs是非常合适的。
更多文档
项目地址
PS: alpha版。。很多commonjs规范没有实现,也因为项目原因没有实现多级文件夹的require,同时bug较多,这个会一直改进
PPS: 第一次做这种开源项目,经验不足,虚心接受大家指点~~~