从命令行评估JavaScript文件的运行时/加载错误

时间:2013-04-12 20:48:37

标签: javascript command-line

我们正在使用requirejs将我们的Web应用程序编译为单个uglified js文件。

有时包含缺少定义,因此在启动期间代码以错误的顺序执行,应用程序抛出异常并停止。

我正在寻找一种工具,以便我可以在CI环境中对此进行基本测试。

PhantomJS看起来像是一个可能的赢家,但我还没有能够得到一些工作。

1 个答案:

答案 0 :(得分:0)

哦,是的,PhantomJS就是答案,只是没有以正确的方式去做:)享受。

var fs = require( 'fs' );
var system = require( 'system' );
if( system.args.length === 2 ) {
    console.log( 'Missing script arguments...' );
    phantom.exit( 10 );
}

var server = require( 'webserver' ).create();
var service = server.listen( 8080, function( request, response ) {
    response.statusCode = 200;

    if( request.url == "/script" ) {
        response.setHeader( 'Content-Type', 'text/javascript' );
        try {
            response.write( fs.read( system.args[1] ) );
        } catch( e ) {
            console.log( e );
            phantom.exit(2);
        }
    } else {
        response.write( '<html><script type="text/javascript" src="/script"></script><body>Tjoff!</body></html>' );
    }

    response.close();
});

var page = require( 'webpage' ).create();
page.onError = function( msg, trace ) {
    console.log( 'ERROR: ' + msg );
    phantom.exit(1);
};
page.open( 'http://localhost:8080', function( status ) {
    setTimeout( function() {
        phantom.exit();
    }, 2500 );
});