Ruby автоматически возвращает значение, которое помещается в последнюю строку, поэтому вы можете использовать эту логику
app = Flask(__name__, static_folder='..static/dist', template_folder='../static')
Вышесказанное, вероятно, сбивает с толку, и ..static
не то же самое, что ../static
РЕДАКТИРОВАТЬ : только что взглянул на учебник, который вы связали. Я оставлю ответ, который я написал ранее, ниже, но исправление вышеуказанной опечатки в static_folder='../static/dist
может быть более быстрым решением вашей проблемы.
Лично я бы упростил это, сделав следующее:
server.py
находится в каталоге server
server
: templates
и static
server/templates
dist
, в server/static
[ 1122] Теперь структура каталогов должна выглядеть примерно так:
SimpleApp
└── server
├── __init__.py
├── server.py
├── static
│ └── dist
│ ├── bundle.js
│ └── styles.css
└── templates
└── index.html
Затем просто инициализируйте приложение с помощью:
app = Flask(__name__)
Нет необходимости определять static & amp; каталоги шаблонов здесь, как вы выложили в структуре по умолчанию, которую ожидает Flask.
Попробуйте нажать: http://localhost:5000/static/dist/bundle.js
в браузере и подтвердите правильность загрузки.
Затем обновите шаблон для загрузки этих файлов из правильного местоположения, используя url_for
в шаблоне:
<link rel="stylesheet"
href="{{ url_for('static', filename='dist/styles.css') }}"
>
и
<script type="text/javascript"
src="{{ url_for('static', filename='dist/bundle.js') }}"
>
Если вы регенерируете bundle.js
в позже вам может понадобиться настроить конфигурацию веб-пакета, чтобы разместить его в новом месте.