Затем я добавил Date-fns < /code> -colleted код в проект Rails следующим образом: < /p>
Код: Выделить всё
# config/importmap.rb
// ...
pin 'date-fns', to: 'vendor/date-fns/formatDistanceToNow.js'
pin 'date-fns/locale/it', to: 'vendor/date-fns/locale/it.js'
pin 'date-fns/locale/en-US', to: 'vendor/date-fns/locale/en-US.js'
< /code>
# app/javascript/controllers/time_ago_controller.js
import { Controller } from "@hotwired/stimulus"
import { formatDistanceToNow } from "date-fns";
import { it } from "date-fns/locale/it";
import { enUS } from "date-fns/locale/en-US";
// Connects to data-controller="time-ago"
export default class extends Controller {
// ...
}
< /code>
# show.html.erb
...
< /code>
Althrough the above does work, when I visit an app page then in the browser's "Developer Tools" > "Network" tab I see that many date-fns
Это, кажется, происходит независимо от того, есть ли на странице или нет времени- назад контроллер стимула подключен. Кроме того, запросы Date-fns -обращенные JS не квалифицированы, если я повторно посещаю страницу, а файлы date-fns не отпечатлены отпечатков пальцев, как я и ожидал.
Кроме того, много посещений страницы, выполняющей все эти запросы JS, делают меня заблокированным ответом, таким как «слишком много запросов» (я использую драгоценный камень и, возможно, он обеспечивает защиту. .. но хорошо иметь такую защиту, поэтому проблема должна быть решена с помощью даты загрузки fns ).
Как улучшить/решить? Как можно справиться с ситуацией, как вышеуказанное в рельсах, используя ImportMap? Я что -то упускаю?
Подробнее здесь: https://stackoverflow.com/questions/793 ... -case-date