原型:最简单的HTTP服务器与URL路由(使用w / Backbone.Router)?

时间:2012-05-21 08:55:28

标签: backbone.js prototyping httpserver simplehttpserver backbone-routing

我们正在研究Backbone.js应用程序,而且我们可以通过键入python -m SimpleHTTPServer启动HTTP服务器这一事实非常棒。

我们希望能够将任何网址(例如localhost:8000/path/to/something)发送到index.html,以便我们可以使用HTML5 Backbone.Router测试pushState

实现这一目标最无痛苦的方法是什么? (出于快速原型制作的目的)

2 个答案:

答案 0 :(得分:2)

只需使用BaseHTTPServer

中的内置python功能即可
import BaseHTTPServer

class Handler( BaseHTTPServer.BaseHTTPRequestHandler ):
    def do_GET( self ):
        self.send_response(200)
        self.send_header( 'Content-type', 'text/html' )
        self.end_headers()
        self.wfile.write( open('index.html').read() )

httpd = BaseHTTPServer.HTTPServer( ('127.0.0.1', 8000), Handler )
httpd.serve_forever()

答案 1 :(得分:1)

  1. 下载并安装CherryPy

  2. 创建以下python脚本(称之为always_index.py或类似的东西)并将'c:\ index.html'替换为您要使用的实际文件的路径

    import cherrypy
    
    class Root:
        def __init__(self, content):
            self.content = content
    
        def default(self, *args):
            return self.content
        default.exposed = True
    
    cherrypy.quickstart(Root(open('c:\index.html', 'r').read()))
    
  3. 运行python <path\to\always_index.py>
  4. 将浏览器指向http://localhost:8080,无论您要求的是哪个网址,都可以获得相同的内容。