我有大约14个css表和大约12个需要用我的应用程序加载的js文件。
我正在使用google pagespeed。
不是将14张纸合并成1张,而是将它们合并为3张。
即使是javascript组合也不能很好地工作但是在某种程度上。那里也没有缩小。
我尝试过阅读文档但却找不到太多线索。
它也没有做任何缩小。它工作但只是在某种程度上
以下是与此有关的所有代码:
pagespeed on;
# Needs to exist and be writable by nginx.
pagespeed FileCachePath /var/ngx_pagespeed_cache;
pagespeed RewriteLevel PassThrough;
pagespeed EnableFilters add_head,combine_css,convert_meta_tags,convert_png_to_jpeg,extend_cache,fallback_rewrite_css_urls,flatten_css_imports,inline_css,inline_import_to_link,inline_javascript,rewrite_css,rewrite_images,rewrite_javascript,rewrite_style_attributes_with_url;
pagespeed EnableFilters combine_javascript,remove_comments,collapse_whitespace;
# Ensure requests for pagespeed optimized resources go to the pagespeed handler
# and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
add_header "" "";
}
location ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
我错过了什么过滤器?
答案 0 :(得分:2)
ngx_pagespeed可以生成的URL受到名为“MaxSegmentLength”[1]的设置的限制。这有很好的理由。这意味着可以组合成单个URL的文件数量也是有界限的。这可能是导致14个css文件合并为3个网址而不是1个网址的原因。
跳过javascript的缩小可能是因为这些事情: - javascript被诊断为内省[2]。 - javascript包含解析错误。
看看nginx的error.log可能是值得的,并检查配置加载消息和ngx_pagespeed的输出在那里的第一个请求,以找出问题所在。
[1]请参阅https://developers.google.com/speed/pagespeed/module/restricting_urls处的“限制最大生成的网址段长度” [2]请参阅上面网址的“限制PageSpeed重写内省JavaScript的网址”。