gpt4 book ai didi

javascript - Sprockets//= 需要 jsbundling-rails (esbuild) - 如何包含 gem 提供的 JS?

转载 作者:行者123 更新时间:2023-12-05 00:38:44 24 4
gpt4 key购买 nike

基本上,正如标题所说。我安装了一个 gem,它可以让我使用一些 JS。在我使用 Sprockets + Assets 管道之前,这不是问题。
现在,我迁移到 jsbundling-rails 并且不知道如何包含 gem 提供的 JS 代码。到目前为止,我已经花了 10 个小时搜索,但没有运气。
请帮我。

最佳答案

gem 必须有一个可以与 yarn/npm 一起安装的 js 包,以便可以在 application.js 中导入它。如果没有,您可以设置一个仅由 sprockets 处理的 js 文件,就像过去一样。
添加另一个将跳过 esbuild 并仅由 sprocket 处理的 javascript 入口点。
更新 list :

// app/assets/config/manifest.js

//= link custom.js
添加 //= require指示:
// app/assets/javascripts/custom.js

//= require gem_javascript
将其添加到布局:
<!-- app/views/layouts/application.html.erb -->

<%= javascript_include_tag "application", "custom", "data-turbo-track": "reload", defer: true %>

或者,不要使用//= 需要将 gem_javascript 添加到 javascript_include_tag :
<%= javascript_include_tag "application", "gem_javascript", "data-turbo-track": "reload", defer: true %>
可能还必须将其添加到 list 中以进行预编译:
// app/assets/config/manifest.js

//= link gem_javascript

关于javascript - Sprockets//= 需要 jsbundling-rails (esbuild) - 如何包含 gem 提供的 JS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72305291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com