日期:2014-05-16  浏览次数:20367 次

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: 第一次做这种开源项目,经验不足,虚心接受大家指点~~~