7

如何使用 angular.js 前端构建烧瓶应用程序?什么是最佳实践?即使在进行开发时,我是否应该使用像 ngnix 这样的网络服务器来托管静态文件?

使用烧瓶默认值,我可以提供 index.html 如下所示:

@app.route('/')
def index():
    return make_response(open('static/index.html').read())

或者

@app.route('/')
def index():
    return send_from_directory('static', 'index.html')

但是,有一个问题是我不能指向没有'../static'前缀的js文件。我只想指出 angular.js 和所有其他人,例如:

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

不是

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

我可以更改烧瓶中的所有静态文件前缀吗?或者有没有解决这个问题的好方法?

谢谢。

4

2 回答 2

4

如果你真的想,你可以:

app = Flask(__name__, static_url_path='')

虽然我只是使用绝对 URL:

/static/lib/angular/angular.js
于 2013-04-19T08:41:34.307 回答
3

我认为最佳实践是让您的 Web 服务器为您提供所有静态内容(angularjs、其他 js 文件、html、css、图像等)。

然后使用某种类型的约定(我喜欢使用“/api”路径)来为您的烧瓶服务器提供和接收数据。

例如,在您的 apache 配置中:

<VirtualHost *:80>
    DocumentRoot /path/to/static/files
    WSGIScriptAlias /api /path/to/flask/flask.wsgi
    ...
</VirtualHost>
于 2013-05-01T06:33:32.703 回答