我正在使用名为example.js.erb
的模板为每个用户生成一些js输出。这基本上是一个javascript文件,我必须在其中输入用户的独特细节。我在用户的小部件中使用它。
是否有任何方法可以缩小js的渲染时间?现在正在正确呈现javascript,但它是长形式,我想缩小输出以减小文件大小并提高下载速度。
Rails Javascript compression/minification on respond_to javascript response?
respond_to do |format|
format.js { self.response_body = minify(render_to_string) }
end
在您的控制器中尝试这样的事情:
def action_name
js_code = render_to_string 'your_js_code_view'
js_code.gsub!(/\r\n|\r|\n/, '') #and/or any other minimization you like
render 'the_view_wich_will_show_the_minimized_js_code'
end
对于Rails 4:
render js: Uglifier.new.compile(render_to_string)
对于Rails 5:
render js: Uglifier.new(harmony: true).compile(render_to_string)