0

在 Rails 6 开发环境中使用 Sprockets,stylesheet_link_tag('mobile')生成:

<link rel=\"stylesheet\" media=\"screen\" href=\"/assets/mobile.debug-2c11e2473c793c2475ab3559e38e0b0331956e570b884642ecbe1f21fa2467f1.css\" />

但是stylesheet_path('mobile')会产生:

"/assets/mobile-ea85a9ecd4c09607a4f2d7dbfeb5e145cdb4ce2033726041472418be82c104ae.css"

在开发服务器上,这两个资产路径都呈现相同的内容。

但我需要在服务人员中缓存正确的资产路径。如何生成与 stylesheet_link_tag 助手生成的资产路径相匹配的资产路径?

(我可以避免使用 stylesheet_link_tag 助手,但大概我在这里遗漏了一些东西)

4

1 回答 1

0

不同之处在于,当 Sprockets 为 true 时,Sprockets 将资产分离到单独的文件中以供包含config.assets.debug- 这是开发环境中的默认设置。

stylesheet_link_tag可悲的是,通过将调试标志设置为 false 来 为个人关闭此标志的选项被破坏 - 请参阅此拉取请求: https ://github.com/rails/sprockets-rails/pull/424

config.assets.debug解决方法是为开发环境设置为 false,并stylesheet_link_tag( 'mobile', debug: true )在我们需要调试特定资产时使用。

于 2021-11-21T17:22:13.760 回答