0

在带有 webpacker 的 rails 6 中,您可以在<%= javascript_pack_tag 'alerts' %>视图或模板中添加一个来注入一些 js。

这如何与导入地图和 Rails 7 一起使用?

4

1 回答 1

0

只要代码在导入映射中正确,​​您就可以通过以下方式引用它:

<script type="module">import "/assets/custom/alerts.js";</script>

假设文件是app/javascript/custom/alerts.js

引用config/importmap.rb如下:

pin_all_from "app/javascript/custom", under: "custom"

并导入到 application.js 中:

import "custom/alerts"

编辑:我现在认为这是 Rails 7 中的反模式。使用 Stimulus 控制器非常容易。

刺激手册供参考

例如,当用户单击“x”时关闭警报

// app/javascript/alerts_controller.js
import { Controller } from "@hotwired/stimulus"

export default class extends Controller {
    dismiss () {
        this.element.style.display = 'none';
    }
}
<div data-controller="alerts">
    <h2> Alert! </h2>
    <span data-action="click->alerts#dismiss"><i class="fas fa-times"></i></span>
</div>
于 2022-02-03T12:31:32.337 回答