4

私たちはBackbone.jsアプリケーションに取り組んでおり、入力することでHTTPサーバーを起動できるという事実python -m SimpleHTTPServerは素晴らしいです。

HTML5でテストできるように、任意のURL(たとえばlocalhost:8000/path/to/something)をにルーティングする機能が必要です。index.htmlBackbone.RouterpushState

それを達成するための最も痛みのない方法は何ですか?(ラピッドプロトタイピングの目的で)

4

2 に答える 2

3

に組み込まれているPython機能を使用するだけですBaseHTTPServer

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()
于 2012-05-25T13:51:59.773 に答える
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向けると、どのURLをリクエストしても、常に同じコンテンツが表示されます。
于 2012-05-25T13:43:30.090 に答える