包装 url 相当于 asset_url?

packs url equivalent for asset_url?

我正在将 Rails 5 应用程序升级到 Rails 6,所以在 Rails 5 之前,webpacker 是默认的,我有一个 js 文件,我正在从application.js 像这样:

config/initializers/assets.rb

Rails.application.config.assets.precompile += %w(magic.js)

在我看来,我是这样使用它的:

<%= asset_url('magic.js'); %>

现在 Rails 6 使用 webpack,我将 magic.js 文件添加到 app/javascript/packs(使其成为入口文件)并将生成一个单独的 magic.js 在 application.js 的加号中输出,但是我找不到任何帮助程序来访问 URL,即:packs_url(相当于 asset_url)

有人知道吗?

好的,我刚刚发现可以使用 asset_pack_pathasset_pack_url 参考这个来源:

github.com/rails/webpacker/blob/master/lib/webpacker/helper.rb

希望这对以后的人有所帮助。

更新

如 KarimTarek 的评论所述,上面的 url 已移至 https://github.com/rails/webpacker/blob/master/lib/webpacker/helper.rb

您目前正在使用 webpacker。因此,您可以使用 javascript_pack_tag 渲染 javascript 包文件。

这是一个例子:

<%= javascript_pack_tag 'magic' %>

获得 url:

<%= asset_pack_path 'magic.js' %>

有关更多信息,请访问文档:

https://github.com/rails/webpacker#usage

https://www.rubydoc.info/github/rails/webpacker/Webpacker%2FHelper:asset_pack_path