2013-04-19 4 views
7

Как создать флеш-приложение с угловым интерфейсом? Что такое лучшая практика? Должен ли я использовать веб-сервер, например ngnix, для размещения статических файлов, даже когда я работаю над разработкой?Структура колбы с угловым.js

С колбой по умолчанию, я могу служить 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') 

Но есть проблема, где я не могу указать JS файлов без»../static ' префикс. Я просто хочу, чтобы указать angular.js и все другие, такие как:

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

не

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

Могу ли я изменить все статический префикс файла в колбе? Или есть хороший способ решить эту проблему?

Спасибо.

+0

возможно дубликат [Типичные Angular.js процесса и структуры проекта (с Python колба)] (http://stackoverflow.com/questions/11522151/typical -angular-js-workflow-and-project-structure-with-python-flask) –

ответ

4

Если вы действительно хотите, вы можете:

app = Flask(__name__, static_url_path='') 

Хотя я бы просто использовать абсолютный URL:

/static/lib/angular/angular.js 
+0

С angular.js я думаю: «app = Flask (__ name__, static_url_path = '')» хорошо, потому что «/ lib» более подходит чем «/ static/lib» в представлении разработчиков front-end. – ccoroom

+0

@ccoroom: Как вы собираетесь размещать статические файлы? – Blender

+0

У меня пока мало идеи. Это просто настройка. Но я чувствую, что странный путь начинается с '/ static'. мои html-файлы уже живут в папке? – ccoroom

3

Я думаю, что лучшие практики будет, чтобы ваш веб-сервер служить все ваши статические материалы (angularjs, другие js-файлы, html, css, изображения и т. д.).

И затем используйте какое-либо соглашение (мне нравится идти по пути «/ api»), чтобы обслуживать и принимать данные на ваш сервер флагов и обратно.

Например, в вашем апача конфигурации:

<VirtualHost *:80> 
    DocumentRoot /path/to/static/files 
    WSGIScriptAlias /api /path/to/flask/flask.wsgi 
    ... 
</VirtualHost> 
+0

Да, я согласен. Вот фрагмент, который я использую с nginx: location /static { autoindex on; alias /path/to/directory/static; } jdsantiagojr

Смежные вопросы