如何使用链轮将 rails 资产依赖项添加到环境变量?
How to add a rails asset dependency to an environment variable with sprockets?
我做了以下js.erb:
#= require cable
this.App = {};
App.cable = Cable.createConsumer('<%= Rails.application.config.web_socket_server_url %>');
我希望 sprockets 在 web_socket_server_url
更新时重新生成资产。
我尝试使用 depend_on,但它仅适用于文件。我还尝试在初始化程序中添加一个配置块(我希望在更改时重新加载所有资产,而不仅仅是相关的资产):
Sprockets.register_dependency_resolver 'web-socket-server-url' do
::Rails.application.config.web_socket_server_url
end
config.assets.configure do |env|
env.depend_on 'web-socket-server-url'
end
看到 sprocket-rails https://github.com/rails/sprockets-rails/commit/9a61447e1c34ed6d35c358935bcae4522b60b48d
的提交后,我有了主意
但这并没有像我预期的那样起作用。
理想情况下,我希望能够在我的初始化程序中注册依赖解析器,然后在我的资产中添加 //= depend_on 'web-socket-server-url'
,这样只会重新加载资产。
作为解决方法,我可能会在 HTML 标记中添加配置,然后在不使用 ERB 的情况下进入 javascript,但感觉不太好。
我怎样才能使用链轮进行这项工作?
当前的 API 是您已经使用过的那个。
Sprockets.register_dependency_resolver 'web-socket-server-url' do
::Rails.application.config.web_socket_server_url.to_s
end
config.assets.configure do |env|
env.depend_on 'web-socket-server-url'
end
当配置更改时,这将使所有缓存无效,而不是您指出的那个文件的缓存。
我做了以下js.erb:
#= require cable
this.App = {};
App.cable = Cable.createConsumer('<%= Rails.application.config.web_socket_server_url %>');
我希望 sprockets 在 web_socket_server_url
更新时重新生成资产。
我尝试使用 depend_on,但它仅适用于文件。我还尝试在初始化程序中添加一个配置块(我希望在更改时重新加载所有资产,而不仅仅是相关的资产):
Sprockets.register_dependency_resolver 'web-socket-server-url' do
::Rails.application.config.web_socket_server_url
end
config.assets.configure do |env|
env.depend_on 'web-socket-server-url'
end
看到 sprocket-rails https://github.com/rails/sprockets-rails/commit/9a61447e1c34ed6d35c358935bcae4522b60b48d
的提交后,我有了主意但这并没有像我预期的那样起作用。
理想情况下,我希望能够在我的初始化程序中注册依赖解析器,然后在我的资产中添加 //= depend_on 'web-socket-server-url'
,这样只会重新加载资产。
作为解决方法,我可能会在 HTML 标记中添加配置,然后在不使用 ERB 的情况下进入 javascript,但感觉不太好。
我怎样才能使用链轮进行这项工作?
当前的 API 是您已经使用过的那个。
Sprockets.register_dependency_resolver 'web-socket-server-url' do
::Rails.application.config.web_socket_server_url.to_s
end
config.assets.configure do |env|
env.depend_on 'web-socket-server-url'
end
当配置更改时,这将使所有缓存无效,而不是您指出的那个文件的缓存。