按需提供非缩小的CSS / javascript

时间:2009-12-18 14:44:30

标签: javascript css rest minify

缩小样式表和脚本文件可以提高网站的性能。

但是,有时您可能希望使文件的非缩小版本可用 - 可能符合GPL或实现可选的按需代码REST约束。

有没有标准化的方法来做到这一点?我能想到的唯一方法是使用命名约定:

http://example.com/css/styles.min.css - 缩小版

http://example.com/css/styles.css - 非缩小版

这种方法的问题在于它依赖于带外约定。 是否有更严格的方法来实施非缩小的按需代码?

2 个答案:

答案 0 :(得分:4)

您可以为.css文件提供某种形式的处理程序(例如.NET处理程序),默认情况下提供缩小版本,但如果在查询字符串中找到某个参数(例如debug = true),则提供非缩小版。

这样你总能引用.css版本,如果有可用的缩小版本,可以优先使用。

答案 1 :(得分:2)

建议:使用超媒体。好处:您选择的URI并不重要。

如果在最终用户正常使用您的网络应用程序的过程中以可见的方式提供来源:

<a target="_blank" href="http://www.example.com/css/styles.css"
    rel="sourcecode" title="The non-minified CSS source.">
    Click here for CSS source code. </a>

<a target="_blank" href="http://www.example.com/scripts/buttons.js"
    rel="sourcecode" title="The non-minified JavaScript source.">
    Click here for JavaScript source code. </a>

如果在开发者用户正常使用Web应用程序的过程中向开发者用户提供源代码,那么在源代码的不可见部分引用它们可能是有意义的:

<link rel="sourcecode" type="text/css"
    href="http://www.example.com/css/styles.css"
    title="The non-minified CSS source." />

<link rel="sourcecode" type="text/javascript"
    href="http://www.example.com/scripts/buttons.js"
    title="The non-minified JavaScript source." />

这些链接仅供查看HTML源代码的开发人员或真正欺骗用户代理的人员使用。

同样,您可以将非缩小的CSS(但不是JS)源作为备用样式表。

注意:rel="sourcecode"不是标准(我刚刚编写),但我很确定它不违反规范;与title一起,它有助于传达链接的目的。