典型的Angular.js工作流和项目结构(使用Python Flask)

前端之家收集整理的这篇文章主要介绍了典型的Angular.js工作流和项目结构(使用Python Flask)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对这个整个MV *客户端框架疯狂很新。它不一定是Angular.js,但我选择它,因为它觉得比Knockout,Ember或Backbone更自然。反正什么是工作流呢?人们开始在Angular.js中开发一个客户端应用程序,然后将后端连接到它?
或者相反,首先在Django,Flask,Rails中构建后端,然后附加一个Angular.js应用程序呢?有没有一个“正确”的方式做,或者它只是一个个人喜好到底?

我也不确定是否根据Flask或Angular.js来构造我的项目?社区实践。

例如,Flask的minitwit应用程序的结构如下:

minitwit
|-- minitwit.py
|-- static
   |-- css,js,images,etc...
`-- templates
   |-- html files and base layout

Angular.js教程应用程序的结构如下:

angular-phonecat
|-- app
    `-- css
    `-- img
    `-- js
    `-- lib
    `-- partials
    `-- index.html
|-- scripts
 `-- node.js server and test server files

我可以自己画一个Flask应用程序,它很容易看到Angular.js应用程序像ToDo List本身,但是当涉及到使用这两种技术,我不明白他们如何在一起工作。当你已经有Angular.js时,看起来我不需要一个服务器端的web框架,一个简单的Python web服务器就足够了。在Angular to-do应用中,他们使用MongoLab使用Restful API与数据库通信。没有在后端有一个web框架。

也许我很困惑,Angular.js只是一个花哨的jQuery库,所以我应该使用,就像我会在我的Flask项目中使用jQuery(假设我改变Angular的模板语法为不与Jinja2冲突的东西) 。我希望我的问题有一些意义。我主要工作在后端,这个客户端框架对我来说是一个未知的领域。

我将开始在标准结构中组织Flask应用程序如下:
app
|-- app.py
|-- static
    |-- css
    |-- img
    |-- js
|-- templates

正如btford所说,如果你正在做一个Angular应用程序,你将需要专注于使用Angular客户端模板,并远离服务器端模板。使用render_template(‘index.html’)将导致Flask将你的角模板解释为jinja模板,所以它们不会正确渲染。相反,您需要执行以下操作:

@app.route("/")
def index():
    return send_file('templates/index.html')

注意,使用send_file()意味着文件将被缓存,所以你可能想使用make_response()代替,至少对于开发:

return make_response(open('templates/index.html').read())

然后,构建您的应用程序的AngularJS部分,修改应用程序结构,使其看起来像这样:

app
|-- app.py
|-- static
    |-- css
    |-- img
    |-- js
        |-- app.js,controllers.js,etc.
    |-- lib
        |-- angular
            |-- angular.js,etc.
    |-- partials
|-- templates
    |-- index.html

确保您的index.html包括AngularJS以及任何其他文件

<script src="static/lib/angular/angular.js"></script>

此时,您尚未构建RESTful API,因此您可以让您的js控制器返回预定义的样本数据(只有临时设置)。当你准备好了,实现RESTful API和使用angular-resource.js挂钩到你的角度应用程序。

编辑:我把一个应用程序模板,虽然有点复杂,我上面描述,说明了如何使用AngularJS Flask构建应用程序,完成AngularJS和一个简单的Flask API之间的通信。这里是如果你想检查出:https://github.com/rxl/angular-flask

猜你在找的Angularjs相关文章