I wrote a game with HTML5. Locally, it only works if I run:
python -m SimpleHTTPServer
And then I open localhost:8000. So, just a bunch of .html and .js files won’t work. I want to put my game online and because of this Github (Pages) is out of question, because it won’t work.
This is the part of the code I need a server for (I do realize that localhost:8000/res/ won’t work on App Engine, I’ll need to change the address):
var mapFile = new XMLHttpRequest();
var self = this;
mapFile.open("GET", "http://localhost:8000/res/map" + mapNumber.toString() + ".txt", true);
mapFile.onreadystatechange = function() {
if (mapFile.readyState === 4) {
if (mapFile.status === 200) {
self.lines = mapFile.responseText.split("\n");
self.loadTilesFromLines();
}
}
};
mapFile.send(null);
So, I heard that Google App Engine would work, it supports Python and is very popular. Now, I don’t need anything like what they have in their documentation (which is pretty well-written):
import webapp2
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.write('Hello, webapp2 World!')
app = webapp2.WSGIApplication([('/', MainPage)],
debug=True)
All I need is a SimpleHTTPServer that allows me to open my index.html on my-app.appspot.com.
I did try the example and got it up and running, but I can’t force my browser to open index.html or src/ or even res/.
So, I am not even sure if Google App Engine supports what I’m trying to achieve here. The documentation just focus on building applications that use Python and all I needed with Python was a SimpleHTTPServer, which I don’t think I need with App Engine.
Yes it is very doable on what you’re trying to achieve here. Since you just want to serve static files it is very simple and you don’t need to include any Python code.
Let’s assume that you have this following structure:
This
app.yamlshould look like this:After you’re going to install the Google App Engine SDK (if you didn’t do that already), you will be able to run the
dev_appserver.pycommand from your terminal. If you have the above structure try to run it using the following:If everything went smoothly you’ll be able to see your
index.htmlonhttp://localhost:8080, themap.txtonhttp://localhost:8080/res/map.txtand you should be able to figure out the rest.Note that you could still run your application using the
python -m SimpleHTTPServerfrom within thestaticdirectory and test it onlocalhost:8000.