ContactPoints.io
Вот мои CDN:
Contact Points
Кажется, все остальные функции начальной загрузки работают нормально, даже другие раскрывающиеся списки. Единственная проблема — это гамбургер-меню.
Кажется, CDN верны. Я попробовал взять «идеальный» код из GetBootstrap (который там работает) и заменить его на свой. Та же проблема. Так что это не похоже на код. Похоже, дело в чем-то другом.
ОБНОВЛЕНИЕ: Основываясь на отзывах @mikegross, я начал комментировать различные комбинации CDN. Я нашел комбинацию комментариев, благодаря которой гамбургер-меню заработало:
Когда я комментирую их обоих, это работает. Когда любому из них разрешено функционировать, это не работает. Очень любопытно.
Подводя итог: если я закомментирую код javascript_include_tag, гамбургер-меню не будет работать. Если я закомментирую код модальной библиотеки начальной загрузки, гамбургер-меню не будет работать. Если я закомментирую ОБА из них, то меню-гамбургер заработает.
Мы приближаемся к решению, но я не совсем уверен, в чем оно заключается.Вот мой application.js (в javascript/контроллерах)
import { Application } from "@hotwired/stimulus"
// import "controllers"
const application = Application.start()
// Configure Stimulus development experience
application.debug = false
window.Stimulus = application
export { application }
console.log("other javascript.js is being called");
console.log("why do we have two application.js?");
//= require pagy
//= require pagy/extras/bootstrap
Это другой файл application.js (он находится в основной папке javascript)
// Entry point for the build script in your package.json
import "@hotwired/turbo-rails"
import "./controllers"
import * as bootstrap from "bootstrap"
console.log("application js is being called")
Нормально ли иметь два файла application.js при использовании Hotwire? ChatGPT говорит да, и что мои два файла application.js выглядят нормально.
Примечание: я удалил эту строку из application.js, надеясь, что это позволит избежать конфликтов с загрузочной CDN, но нет изменять. Гамбургер-меню по-прежнему не работает:
import * as bootstrap from "bootstrap"
Подробнее здесь: https://stackoverflow.com/questions/783 ... but-not-up