2012-11-08 77 views
0

我正在做一个有趣的简单的JavaScript游戏引擎,和我正在成为一种恼人的问题,它工作时。得到错误使得JavaScript的游戏

目前包含javascript文件的方式是通过一个index.html页面调用我的javascript“main”,并将<script type="text/javascript"标签中的所有javascript文件包含在<head>部分中。

这是工作得相当好,除了它无法加载javascript文件的一个页面的6次左右刷新,也许1。我收到如下错误:GET http://localhost:8000/js/Input.js。它正常工作时,所有的文件组合在一起,并精缩,所以我想这个事做与文件的异步加载和游戏中的一切开始之前加载?虽然我不确定。我现在包括大约25个文件,并且随着我添加更多,问题似乎越来越严重。

有没有更好的办法,包括JavaScript文件?我试图让这个容易就尽可能地工作,所以我不希望有做一吨的服务器端的东西。 (目前,我只是用python中SimpleHTTP服务器命令)

回答

1

如果错误是HTTP错误,网址是完全相同当它失败,成功时一样,那么这个问题是不是与相关你的JS,但与您的Web服务器。

但是,如果你正在使用类似$ .getScript和错误与一些未初始化的变量,你通过所有的脚本循环可能被列入并执行getScript加入为他们每个人。如果是这样,如getScript使用AJAX请求来加载JS,脚本的执行顺序不能保证。为了解决这个问题,如果你不介意性能问题,这种情况只有在你的开发环境中运行时,你可以链接请求,因此在加载前一个(必需的)JS文件之前不会发出请求,因此依次执行脚本文件:

var dfr = $.Deferred().resolve(); 
var scripts = ["script1.js", "..."]; 

$.each(scripts, function(i, script) { 
    dfr = dfr.pipe(function() { 
     $.getScript(script); 
    }); 
}); 
+0

谢谢,我认为这个问题必须是服务器,然后根据你的第一款中的信息。在问几个朋友之后,他们提到python http服务器很粗略。 – phosphoer