0

我们使用 requirejs 将我们的 web 应用程序编译成一个单一的 uglified js 文件。

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

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

PhantomJS 看起来像是一个可能的赢家,但我还没有让一些东西起作用。

4

1 回答 1

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 );
});
于 2013-04-19T13:23:00.957 回答