在
中在
中在
我最近去掉了webpacker
,安装了importmap
和turbo
。我的Stimulus JS控制器没有呈现任何内容。
importmap.rb :
# Pin npm packages by running ./bin/importmap
pin "application", 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 "@hotwired/turbo-rails", to: "turbo.js", preload: true
typewriter_controller.js :
import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
connect() {
// some code...
}
}
application.html.erb:
<head>
some stuff..
<%= stylesheet_link_tag 'application', media: 'all' %>
<%= javascript_include_tag "turbo", type: "module-shim" %>
<%= javascript_importmap_tags %>
</head>
我试着重新安装刺激宝石,但没有成功。我对这个没什么想法了。
根据stimulus-rails
安装指南,我会检查以下文件是否以这种方式配置:
在app/javascript/controllers/index.js
中import { application } from "controllers/application"
// Eager load all controllers defined in the import map under controllers/**/*_controller
import { eagerLoadControllersFrom } from "@hotwired/stimulus-loading"
eagerLoadControllersFrom("controllers", application)
在app/javascript/controllers/application.js
中import { Application } from "@hotwired/stimulus"
const application = Application.start()
// Configure Stimulus development experience
application.debug = false
window.Stimulus = application
export { application }
在app/javascript/application.js
中
import "controllers"
这假设您确实在使用importmap
,而不是其他JavaScript绑定器(例如yarn
(。