
[英]Tornado streaming HTTP response as AsyncHTTPClient receives chunks
[英]Tornado http server - Failed to load response data - React app chunks
为 React 应用程序设置 Tornado web 服务器,但无法加载块。
令人费解的是,当应用程序加载并与 Node 的http-server -p 1800
和 Python 的python -m http.server 1800
如您所见,我在 Tornado 服务器中添加了一些 CORS 标题,但仍然非常基本。
1 import tornado.web
2 import tornado.ioloop
3
4 class StaticHandler(tornado.web.RequestHandler):
5
6 def set_default_headers(self):
7 print("setting headers")
8 self.set_header("Access-Control-Allow-Origin", "*")
9 self.set_header("Access-Control-Allow-Headers", "x-requested-with")
10 self.set_header("Access-Control-Allow-Methods", 'POST, GET, OPTIONS')
11
12 def get(self):
13 print("Rendering index.html")
14 self.render("index.html")
15
16 if __name__ == '__main__':
17
18 app = tornado.web.Application([
19 (r"/", StaticHandler),
20 ])
21 app.listen(1800)
22 print("Listening on port 1800")
23 tornado.ioloop.IOLoop.current().start()
Tornado 没有提供这些文件,因为您没有要求它 - 您只是告诉它在/
上提供您的StaticHandler
(不要与 Tornado 的StaticFileHandler
混淆)。 执行此操作的常用方法是将static_path
传递给Application
构造函数,但这将为/static/*.js
下的文件提供服务。 如果您真的想直接从根目录提供这些文件,您可以通过为("/(.*)", tornado.web.StaticFileHandler, dict(path="."))
添加路由来实现
还要记住,这也会为您的应用程序提供源代码。 如果您不希望这样,请为您的 static 路径使用与 python 代码不同的目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.