我们正在开发一个 Backbone.js 应用程序,我们可以通过键入来启动 HTTP 服务器这一事实python -m SimpleHTTPServer
非常棒。
我们希望能够将任何 URL(例如localhost:8000/path/to/something
)路由到我们的index.html
,以便我们可以Backbone.Router
使用 HTML5进行测试pushState
。
实现这一目标最轻松的方法是什么?(出于快速原型制作的目的)
我们正在开发一个 Backbone.js 应用程序,我们可以通过键入来启动 HTTP 服务器这一事实python -m SimpleHTTPServer
非常棒。
我们希望能够将任何 URL(例如localhost:8000/path/to/something
)路由到我们的index.html
,以便我们可以Backbone.Router
使用 HTML5进行测试pushState
。
实现这一目标最轻松的方法是什么?(出于快速原型制作的目的)
只需使用内置的 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()
下载并安装CherryPy
创建以下 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()))
python <path\to\always_index.py>
http://localhost:8080
,无论您请求什么 url,您总是会得到相同的内容。