Recibo un comportamiento extraño al usar importmaps. Puedo acceder a jquery dentro del alcance del archivo application.js y a través de los archivos js que importo. Pero no puedo acceder a jquery en vistas de rieles normales con etiquetas de script. En ciertos casos, debo usar una etiqueta de secuencia de comandos para interpolar ciertas variables de entorno. No sé qué hace que jquery solo se ejecute en archivos js que no sean accesibles en mis vistas. ¿Cómo habilito jquery en toda la aplicación (dentro de vistas y archivos js)?
puntos de vista/**
Uncaught ReferenceError: $ is not defined at edit:687:3 <script> console.log($) </script>config/manifest.js
//= link_tree ../../../vendor/javascript .js //= link_tree ../images //= link_directory ../stylesheets .css //= link_tree ../../javascript .js //= link_tree ../buildsaplicación.js
// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails import 'jquery'; import Alpine from "alpinejs"; import { Turbo } from "@hotwired/turbo-rails" import './vendor/jquery.validate.min'; window.jQuery = $; window.$ = $; window.Alpine = Alpine Alpine.start() Turbo.session.drive = false import "@hotwired/turbo-rails" import "controllers" import "./navbar" import "./stripe_resources" import "alpine-turbo-drive-adapter"importmap.rb
# Pin npm packages by running ./bin/importmap pin "application", preload: true 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 pin_all_from "app/javascript/controllers", under: "controllers" pin "jquery", to: "https://code.jquery.com/jquery-3.6.0.min.js", preload: true pin "alpinejs", to: "https://ga.jspm.io/npm:alpinejs@3.9.1/dist/module.esm.js" pin "alpine-turbo-drive-adapter", to: "https://ga.jspm.io/npm:alpine-turbo-drive-adapter@2.0.0/dist/alpine-turbo-drive-adapter.esm.js" pin "stripe_account_jq_validation"