Ошибка загрузки основного файла ExtJS

У меня есть следующая структура папок для моего проекта. Я использую ExtJS, Sencha Cmd и Flask, чтобы начать этот проект.

Инструменты/фреймворк, используемые для пользовательского интерфейса

Sencha Cmd v6.2.1.29
Ext JS v6.2.1

Я успешно создал пользовательский интерфейс для примера приложения для входа. Я использовал некоторую жестко запрограммированную проверку имени пользователя и пароля, и это сработало, как и ожидалось.

Однако я попытался реализовать с помощью своего веб-сервера, созданного с помощью Flask. Я изменил структуру папок моего приложения следующим образом.

project
│   run.py
│
└───static
│   │   ext/ <--- all extjs files here
│   │   app/ <--- my application folder
|   |   index.html
│   │   ...
└───templates
    │   index.html

После выполнения моего фляжного приложения у меня возникла проблема. Файлы, требуемые ExtJS, такие как app.js, bootstrap.json, загружаются, как и ожидалось. Но это дает ошибку в сети, говоря, что файл не найден для файлов ExtJS. Ожидается, что файл будет запрашиваться внутри статической папки, но запрос выполняется в корневом каталоге приложения /ext/build/, а должен был быть /static/ext/build/

Я просто хочу добавить /static/ в каждый запрос к файлам ExtJS. Есть ли способ сделать это? Или что я делаю не так?

Если я запускаю файл index.html, расположенный внутри статической папки, пользовательский интерфейс работает нормально, поскольку путь к основному файлу ExtJS совпадает.

Я перешел по этой ссылке для своего приложения.


person IT.dumb    schedule 13.03.2017    source источник
comment
Вы можете попытаться найти ответ на свой вопрос в этой теме stackoverflow.com/a/24933464/1018686 , в частности, решив проблема, изменив переменную classpath в app.json   -  person fen1ksss    schedule 13.03.2017
comment
на самом деле это было решено путем изменения пути indexHtmlPath к моему файлу ../templates/index.html' path relative to app.json`. Хотя "indexHtmlPath": "../index.html" также решил проблему, и он выглядел чище, я использовал эти настройки. Но я должен использовать "indexHtmlPath": "../templates/index.html", просто чтобы в следующий раз было ясно, какой файл index.html используется.   -  person IT.dumb    schedule 13.03.2017


Ответы (1)


Изменение записи из файла app.json действительно решило мою проблему.

Я использовал относительный путь из пути app.json, чтобы указать файл index.html, который используется для вызова файла bootstrap.js. например

"indexHtmlPath": "../templates/index.html"

Таким образом, каждый файл, используемый инфраструктурой extjs, автоматически указывает правильный путь. Весь путь к файлу extjs относился к файлу index.html.

person IT.dumb    schedule 13.03.2017