У меня есть проект Rails, и только в производстве (хорошо работает локально в разработке), импортированные модули JS, по -видимому, не загружаются, и я получаю ошибки консоли, ссылающиеся на 404 ошибки для файлов: < /p>
**Error: 404 Not Found** https://example.com/assets/controllers/ ... ed_helpers **imported from** https://example.com/assets/controllers/ ... xxxxxxx.js
Версия файлов отпечатков пальцев существует в общедоступной папке. Однако ошибки консоли не ссылаются на них:
'Get
https://example.com/assets/controllers/ ... ed_helpers' написал/> Файл JS, который импортирует модули JS. В консоли это напечатано на пальце, напечатанное имя: 'https://example.com/assets/controllers/ ... xxxxxxx.js'> В этом основном файле JS JS, импорт выглядит так:
import sharedHelpers from './modules/shared_helpers';
, где shared_helpers.js находится в \ Пример \ App \ JavaScript \ Controllers \ Meeting \ Modules и файл, который он импортирует \ Пример \ app \ javascript \ Controllers \ Meeting>
. Обновлено производство.rb < /code>:
config.public_file_server.enabled = true< /code> < /p>
Затем ran
'Grable Assets: precompile' < /p>
Я поднял общую папку и перекомпилировал и заменил < /p>
Я добавил это в nginx conf < /p>
< /p>
.location ~ ^/assets/ {
root /home/ec2-user/example/public;
gzip_static on;
expires max;
add_header Cache-Control public;
}
< /code>
Importmap.rb выглядит так:
pin "application", to: "application.js", preload: true
# Hotwired libraries
pin "@hotwired/turbo-rails", to: "turbo.min.js", preload: true
pin "@hotwired/stimulus", to: "stimulus.min.js", preload: true
pin "@hotwired/stimulus-loading", to: "stimulus-loading.js", preload: true
# Stimulus controllers
pin_all_from "app/javascript/controllers", under: "controllers"
# Meeting modules
pin_all_from "app/javascript/controllers/meeting/modules", under: "controllers/meeting/modules"
# External libraries
pin "meeting-client", to: "https://xxx.esm.mjs"m"
< /code>
I've tried:
Why does Rails give 404 error for all assets?
Rails 7 and Import-map and loading custom JS file
EDIT
Should also mention I'm using secure-headers gem (csp), which has been .
SecureHeaders::Configuration.override(:disable_csp) do |config|
config.csp = SecureHeaders::OPT_OUT
end
Подробнее здесь: https://stackoverflow.com/questions/797 ... ors-for-im
Рельсы, не загружающие активы с отпечатками пальцев в производство, что приводит к 404 ошибкам для импортированных модул ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение