【问题标题】:Does installing hotwire in a rails project require Javascript?在 Rails 项目中安装 hotwire 是否需要 Javascript?
【发布时间】:2022-11-06 01:58:23
【问题描述】:

我的操作系统是 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

【问题讨论】:

  • 不确定我是否理解这个问题,但热线将自己描述为“...一种无需使用即可构建现代 Web 应用程序的替代方法很多 JavaScript"(不是没有 JS)。此外,hotwire-rails 依赖于 stimulus-railsturbo-rails。Stimulus 和 Turbo 是 JS 框架(尽管主要是服务器端),因此需要 JS 运行时。
  • 这只是一个演示,是在 Rails 6 出现时制作的。 rails 7 默认有它。 rails new chat 就是您所需要的。它会为你设置所有的javascript。 hotwire-rails 不再是东西了。

标签: ruby-on-rails ruby debian hotwire-rails hotwire


【解决方案1】:

你只需要输入这个 C:Userspp>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:Userspp>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

【讨论】:

    猜你喜欢
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 2020-09-21
    相关资源
    最近更新 更多