gpt4 book ai didi

javascript - Sprockets 的 asset_path 不返回生产中 HTML Assets 的摘要路径。

转载 作者:太空宇宙 更新时间:2023-11-03 16:04:02 26 4
gpt4 key购买 nike

我在 Assets 目录中有一些模板 HTML 和 JS 文件,结构如下:

app
- assets
- templates
- my_template.html
- javascripts
- application.js
- main.js.erb

其中 application.js 包含标准 sprockets 指令://= require main

main.js.erb 包含对 my_template.html 路径的引用:main.js.erb: //这里有一些代码... 返回 { pathToTemplate: "<%= asset_path 'my_template.html' %>" } //这里有更多代码……

在开发中,这很好用。 main.js.erb 的计算结果如下:

// Some code here ...
return {
pathToTemplate: "assets/my_template.html"
}
// More code here

在生产中, Assets 被预编译(gzip 压缩并删除空格),并将指纹附加到文件名。

生产 main.js.erb 应该看起来像:

pathToTemplate: "assets/my_template-610dd79b5bb3c20d14b81baa891fc9dd.html"

但与开发中的相同。

Sprockets 是否也需要配置为对 HTML 文件进行指纹识别?也许这是一个错误,因为它正在生成带有指纹路径的 list 文件,但 asset_path 在 main.js.erb 中返回非指纹路径?

感谢您的帮助。

最佳答案

Sprockets 本身不再实现 asset_path - 这是 Action View 提供的 Rails 助手。

https://github.com/rails/rails/blob/cd0b6233ae22f6bc8407d240eb2f933ca122f86d/actionpack/lib/action_view/helpers/asset_url_helper.rb#L120

这个问题应该为你回答剩下的问题:

Ruby on Rails 4 and usage of asset_path

关于javascript - Sprockets 的 asset_path 不返回生产中 HTML Assets 的摘要路径。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18415934/

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