基本上,正如标题所说。我有一个gem安装,给我一些JS使用。在我使用链轮+资产管道之前,这不是一个问题。
现在,我迁移到jsbundle -rails,完全不知道如何包含gem提供的JS代码。我花了差不多10个小时找,到目前为止还没有找到。
请帮帮我。
gem必须有一个可以通过yarn/npm安装的js包,以便它可以在application.js中导入。如果没有,你可以设置一个js文件只由链轮处理,就像以前一样。
添加另一个javascript入口点,跳过esbuild,只由链轮处理。
更新清单:
// app/assets/config/manifest.js
//= link custom.js
添加//= require
指令:
// app/assets/javascripts/custom.js
//= require gem_javascript
添加到layout:
<!-- app/views/layouts/application.html.erb -->
<%= javascript_include_tag "application", "custom", "data-turbo-track": "reload", defer: true %>
或者,代替使用//= require添加gem_javascript到javascript_include_tag
:
<%= javascript_include_tag "application", "gem_javascript", "data-turbo-track": "reload", defer: true %>
可能需要将其添加到manifest中以进行预编译:
// app/assets/config/manifest.js
//= link gem_javascript