在this tutorial中,他们使用烧瓶创建了一个API,您可以将其发布到它,它会给出响应。
然后它会告诉您创建一个Angular应用程序来调用API。
如何在Apache服务器上运行?
本教程没有提到这一点,但我尝试在apache上使用WSGI,它可以运行一个可以使用
重定向到角度应用程序的烧瓶文件@app.route('/')
def index():
return render_template('index.html',content=content)
这是部署Angular和Flask应用的典型方式吗?烧瓶调用角度index.html似乎很奇怪,有没有办法用较低的耦合来做到这一点?
将Flask用作RESTful API并在同一台服务器上运行角色的标准是什么?
答案 0 :(得分:2)
Flask是一个Web框架,在WSGI协议中扮演 WSGI应用程序的角色。它需要一个WSGI服务器与http客户端协商,然后调用您的WSGI应用程序来处理http请求。尽管Flask附带了一个用于开发的小型WSGI服务器,但您应该在生产中使用像gunicorn这样的WSGI服务器。
Angular app由静态文件组成,应由http服务器提供。 Nginx是静态文件的最佳http服务器。但为简单起见,Flask plus WSGI服务器可以为您提供这些静态文件。所以你会看到
烧瓶正在调用angular index.html
谈到你的问题
这是部署Angular和Flask应用程序的典型方法吗?
这是一种典型的开发方式,但不是生产方式。
有没有办法用较低的耦合来做到这一点? 使用Flask作为RESTful API并在同一服务器上运行angular的标准是什么?
有问题吗?
答案 1 :(得分:0)
无论您使用哪个JS框架进行Web开发,都必须在HTML文件中提供javascript。 Flask服务于两个角色,一个是提供HTML文件(可能是静态文件,如js,css和images),另一个是提供所有其余的api端点。我不认为这种设置有什么问题。但对于生产环境,您可以使用nginx或任何Web服务器来提供静态文件,并仅使用flask来提供REST api调用。如果您的网站流量不是很大,那么仅使用Flask提供的服务也很好。