我们正在开发一个 Backbone.js 应用程序,我们可以通过键入 python -m SimpleHTTPServer
来启动 HTTP 服务器这一事实非常出色。
我们希望能够路由任何网址(例如 localhost:8000/path/to/something
( 到我们的index.html
,以便我们可以用 HTML5 pushState
测试Backbone.Router
。
最无痛的方法是什么?(用于快速原型制作(
只需在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()
-
下载并安装樱桃派
-
创建以下 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 <pathtoalways_index.py>
- 将浏览器指向
http://localhost:8080
,无论您请求什么URL,您始终会获得相同的内容。