ruby-on-rails 在Rails项目中安装hotwire是否需要Javascript?

ih99xse1  于 2022-11-19  发布在  Ruby
关注(0)|答案(2)|浏览(190)

我的操作系统是Linux,发行版是debian-bullseye,我的ruby版本是3.1,我的rails版本是7
我创建了一个rails项目

rails new chat --skip-javascript
cd chat/

我装了热线

bundle add hotwire-rails
rails hotwire:install

我得到了这个错误

You must either be running with node (package.json) or importmap-rails (config/importmap.rb) to use this gem.

我正在尝试跟踪this tutorial

gorkyyrv

gorkyyrv1#

您只需要键入

C:\Users\app>rails importmap:install

按回车键,然后你会看到下面的代码..

Add Importmap include tags in application layout
      insert  app/views/layouts/application.html.erb
Create application.js module as entrypoint
      create  app/javascript/application.js
Use vendor/javascript for downloaded pins
      create  vendor/javascript
      create  vendor/javascript/.keep
Ensure JavaScript files are in the Sprocket manifest
      append  app/assets/config/manifest.js
Configure importmap paths in config/importmap.rb
      create  config/importmap.rb
Copying binstub
      create  bin/importmap

在该类型之后

C:\Users\app>rails hotwire:install

按回车键你会看到下面的代码

Create controllers directory
      create  app/javascript/controllers
      create  app/javascript/controllers/index.js
      create  app/javascript/controllers/application.js
      create  app/javascript/controllers/hello_controller.js
Import Stimulus controllers
      append  app/javascript/application.js
Pin Stimulus
Appending: pin "@hotwired/stimulus", to: "stimulus.min.js", preload: true"
      append  config/importmap.rb
Appending: pin "@hotwired/stimulus-loading", to: "stimulus-loading.js", preload: true
      append  config/importmap.rb
Pin all controllers
Appending: pin_all_from "app/javascript/controllers", under: "controllers"
      append  config/importmap.rb
Import Turbo
      append  app/javascript/application.js
Pin Turbo
      append  config/importmap.rb
Run turbo:install:redis to switch on Redis and use it in development for turbo streams
svmlkihl

svmlkihl2#

这只是一个演示,是在Rails 6还存在的时候做的。Rails 7默认有这个功能。Rails new chat是您所需要的全部。它会为您设置所有的javascript。hotwire-rails已经不再存在了。Alex

相关问题