使用 stimulus.js 和 javascript 集成增强您的 rails 7 应用程序
stimulus.js 是一个简单的 javascript 框架,可以增强您的 html。它是 rails 内置功能的完美伴侣。在这篇文章中,我们将探索如何使用 stimulus.js 实现 javascript 功能,将其与其他 javascript 库集成,并使用 importmap 有效管理 javascript 依赖项。
先决条件
在我们开始之前,请确保您具备以下条件:
- rails 7 应用程序设置
- javascript 和 rails 基础知识
在 rails 7 中设置 stimulus.js
rails 7 默认支持 stimulus.js。首先,请通过运行以下命令确保 stimulus 包含在您的应用程序中:
rails new my_app cd my_app
登录后复制
您可以在 app/javascript/controllers 中找到 stimulus 控制器。
创建刺激控制器
让我们创建一个 stimulus 控制器来处理简单的点击事件。运行以下命令:
rails generate stimulus hello
登录后复制
这将在 app/javascript/controllers 中生成一个新的控制器 hello_controller.js。打开文件并添加以下代码:
// app/javascript/controllers/hello_controller.js import { controller } from "@hotwired/stimulus" export default class extends controller { static targets = ["output"] connect() { this.outputtarget.textcontent = 'hello, stimulus!' } greet() { this.outputtarget.textcontent = 'hello, world!' } }
登录后复制
在 html 中,使用 stimulus 控制器:
<p data-controller="hello"> <h1 data-hello-target="output"></h1> <button data-action="click->hello#greet">greet</button> </p>
登录后复制
单击按钮时,文本将更改为“hello, world!”。
立即学习“Java免费学习笔记(深入)”;
与其他 javascript 库集成
stimulus.js 可以与其他 javascript 库无缝协作。例如,让我们将 jquery 与 stimulus.js 集成。
首先,使用importmap添加jquery:
将 jquery 添加到您的 config/importmap.rb 中:
pin "jquery", to: "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"
登录后复制
然后,在您的 stimulus 控制器中导入 jquery:
// app/javascript/controllers/hello_controller.js import { Controller } from "@hotwired/stimulus" import $ from "jquery" export default class extends Controller { static targets = ["output"] connect() { this.outputTarget.textContent = 'Hello, Stimulus!' } greet() { $(this.outputTarget).fadeOut().fadeIn().text('Hello, jQuery!') } }
登录后复制
管理 javascript 依赖关系
使用 importmap 管理 rails 7 中的 javascript 依赖关系非常简单。这里有一些提示:
- 添加库: 在 config/importmap.rb 中使用 pin "library_name", to: "library_url" 添加新库。
- 删除库: 从 config/importmap.rb 中删除相应行以删除现有库。
- 更新库: 将 config/importmap.rb 中的 url 更新为最新版本。
- 检查过时的库: 访问 config/importmap.rb 中的 url 以查看是否有新版本可用。
您还可以将自定义 javascript 文件添加到您的项目中。将它们放在 app/javascript 文件夹中并在需要的地方导入它们。
结论
stimulus.js 提供了一种强大而简单的方法来将 javascript 功能添加到 rails 应用程序中。通过将其与其他 javascript 库集成,您可以创建丰富且动态的用户体验。正确管理 javascript 依赖项可确保您的应用程序保持可维护性和最新状态。
快乐编码!
以上就是使用 Stimulusjs 和 JavaScript 集成增强您的 Rails pp的详细内容,更多请关注其它相关文章!