Здесь важно понять, что если вы хотите доставить файл * stati c, это может быть ваш /app-app-site-association
или просто изображение на /something.jpg
, это никак не связано с ember.
Ember работает в браузере. Таким образом, вся маршрутизация ember происходит в браузере. Вот почему вы должны настроить свой веб-сервер так, чтобы он обслуживал файл index.html
, когда он не находит файл.
Поэтому, когда вы вводите example.com/something
, это вызовет HTTP GET example.com/something
. Затем ваш веб-сервер должен проверить, существует ли файл something
, если да, он должен ответить 200 OK
и содержимым этого файла.
Если if не найдет файл something
обычно отвечает 404 NOT FOUND
. Однако, когда вы используете SPA в качестве ember, вы настраиваете свой веб-сервер так, чтобы он никогда не отвечал 404 NOT FOUND
, а вместо этого возвращал 200 OK
и тело index.html
. ( вы можете увидеть пример конфигурации в руководствах ember, но это будет отличаться для разных веб-серверов )
После этого будет загружено ваше приложение ember (вы включили файл .js
в index.html
) и ember проверит текущий URL и запустит маршрутизацию ember. Это происходит в браузере .
Так что если что-то хочет сделать HTTP-запрос и получить файл app-app-site-association
, он, вероятно, не хочет получать ваш index.html
и затем запустите браузер, чтобы позволить ember сделать что-нибудь. Он просто хочет файл напрямую с вашего веб-сервера. Таким образом, ваш веб-сервер должен напрямую ответить 200 OK
и содержимым этого файла. И он, вероятно, будет делать это, как я упоминал выше, если этот файл просто существует.
Теперь в ember проектах есть папка public
. Если вы хотите иметь некоторые файлы вместе с вашим ember-приложением, которые должны просто обслуживаться вашим веб-сервером, это правильное место. Все, что вы в нее вставите, будет просто скопировано в папку dist
. Это означает, что когда вы затем развернете папку dist
, вы также развернете файл.
Однако будьте осторожны с конфигурацией вашего веб-сервера. Поскольку файл не имеет окончания, он, вероятно, будет использоваться как text/plain
. Если вы хотите, чтобы он обслуживался как application/json
, вам необходимо соответствующим образом настроить ваш веб-сервер.