Главная » Error » Error loading asset config 404

Error loading asset config 404

Error loading asset config 404

Я развернул свое приложение rails с включенным Asset Pipeline внутри файла application.rb:

# Enable the asset pipeline

config.assets.enabled = true

Когда я проверяю, я вижу, что файлы были обработаны компилятором внутри public/assets каталог, но когда я просматриваю веб-сайт, ни один из активов не может быть разрешен браузером. Если я напрямую получу доступ к ресурсам, я увижу сообщение 404 от Nginx.

Кто-нибудь может сказать мне, что происходит?

Ответ

В основном файлы, которые скомпилированы и сжаты gzip, отсутствуют в правильном каталоге.

Попробуйте установить config.assets.compile = true in config/environments/development.rb если вы работаете в среде разработки. Он будет генерировать файл ресурсов на лету, когда он вызывается. Это плохо для производства, так как это ухудшит производительность.

Поэтому, если вы находитесь в производственной среде, попробуйте запустить

rake assets:precompile

Недавно я наткнулся на ту же проблему. Я предполагаю, что вы говорите о производственной среде. Решение состояло в том, чтобы снова потребовать звездочки в application.rb либо делая

require ‘sprockets/railtie’

or

require ‘rails/all’

Это было потеряно, потому что мы не использовали весь фреймворк Rails и отключили ActiveRecord в пользу Mongoid. Подводный камень в том, что при обновлении Rails до более новых версий вы можете не заметить, что rails/all меняет его содержимое.

Статический файл .json в папке assets возвращает 404

Запрос на помощь

Я внедрил версию редактируемых файлов конфигурации, и она отлично работает при локальном запуске с использованием ng-serve, однако, когда я запускаю ng-build и копирую содержимое папки dist на наш сервер разработки, я получаю ошибку 404 при попытке доступа к конфигурации.файл json, который находится в /assets/config/ . Файл находится в правильном месте на сервере, и я могу получить доступ к другим файлам в той же папке, но я просто не могу получить доступ к конфигурационному файлу. Приложение размещено в IIS, поэтому, возможно, есть какое-то ограничение на файлы json, но кроме этого я не могу понять, что может быть причиной этого.

У кого-нибудь есть какие-либо предложения?

Ответ

Возможно, файл json не скопирован в папку dist. В противном случае я бы сказал, что iis не настроен для обслуживания файлов json

Да, это было оно!

Для дальнейшего использования я добавил

<staticContent>

  <mimeMap fileExtension=”.json” mimeType=”application/json” />

</staticContent>

в мой файл web.config в разделе <system.webServer>, и все это работало нормально.

Я только что получил точно такую же проблему. Обновление омнибусной установки с 8.11.7 до 8.12.0 с помощью обратного прокси-сервера nginx. Это другой файл, но, по сути, та же проблема…

 ==> /var/log/gitlab/gitlab-rails/production.log <== Processing by RootController#index as HTML Completed 200 OK in 58ms (Views: 27.6ms | ActiveRecord: 3.8ms) Started POST “/api/v3/internal/allowed” for 127.0.0.1 at 2016-09-23 15:42:54 +0000 Started POST “/ci/api/v1/builds/register.json” for xxx.xxx.xxx.xxx at 2016-09-23 15:42:54 +0000 Started GET “/assets/application-204e7b3d5eb4881844cf4ccd8b6a8a0d60ca35d2fda088c667058efbc4aa9499.css” for xxx.xxx.xxx.xxx at 2016-09-23 15:42:54 +0000 Processing by ProjectsController#show as HTML Parameters: {“namespace_id”=>”assets”, “id”=>”application-204e7b3d5eb4881844cf4ccd8b6a8a0d60ca35d2fda088c667058efbc4aa9499.css”} Filter chain halted as :project rendered or redirected Completed 404 Not Found in 16ms (Views: 0.5ms | ActiveRecord: 1.6ms)

Большое вам спасибо за вашу помощь.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector