【问题标题】:Django module to shorten css classes in productionDjango 模块用于缩短生产中的 css 类
【发布时间】:2018-02-23 18:44:25
【问题描述】:

我有一个 CSS 类:

.footer-react-btn{
  color:#ddd;
}

但如果我将.footer-react-btn 更改为.a.b,那么我可能会节省一些被加载的文本字节。

我希望它发生在我的制作中。在我的开发过程中,我会以通俗易懂的方式编写代码。

那么,有什么办法可以做到吗?

我是新来的。我需要一步一步的解释。

【问题讨论】:

  • 毫无意义。这种最小化实际上为最终用户创造了可衡量的改进的唯一方法是,如果您的代码已经荒谬很大并且过于复杂,这将值得让您的代码减少。
  • 是的。我的代码很大。如果我继续向我的网站添加新功能,它会变得更大。

标签: javascript python html css django


【解决方案1】:

通常,一个人只维护两个文件——a-stylesheet.cssa-stylesheet.min.css。它通常仅限于删除空格,而不是更改名称。想象一下,如果您使用两个不同的样式表并将相同的名称更改机制应用于两者……您可能会突然发生冲突,否则将不存在。显然,这不是一个好主意。

无论如何,与您正在寻找的最接近的是django-compressor,它结合并缩小了您的静态 JS/CSS,但它有许多您可能想要也可能不想要的行为。

坦率地说,我认为担心这几个字节是浪费时间。简单地缩小 CSS 是减小 CSS 组件大小的一种更简单、更安全的方法。在您真正遇到扩展问题之前,我什至不会考虑更复杂的解决方案。

【讨论】:

  • 没有。我不这么认为。我已经通过了 facebook 和 instagram 的 css。他们的 css 以我想要的方式缩小。根据您的建议,我已经使用 compressor.filters.cssmin.CSSMinFilter 来缩小我的 css。但我认为这还不够。当用户群增加时,交付如此大量的数据就成了一个棘手的问题。我希望一切都变得小而简单。
  • @PresentationBuddies Facebook 的规模对于实施解决此问题的方案可能是有意义的。 Facebook 长期以来一直在与 CSS 问题作斗争,许多才华横溢的工程师致力于解决这个问题……他们的解决方案可能是针对他们的环境高度定制的。对你来说,过早的优化只会从长远来看伤害你。保持项目实现小而简单比保持 CSS 文件小而简单重要得多。优化是您在项目中最后做的事情!还有更好的方法来解决这个问题。
  • 从长远来看,过早的优化对我有什么伤害?我想让我的项目小而简单。我需要一个类似于django-compressor 的模块,它压缩css 文件并将它们存储在CACHE 文件夹中并将它们交付给客户端。不影响我的发展。代码在开发过程中没有被最小化。我想要类似的东西。但它也应该同样修改我的 html 和 javascript 文件,使代码更小。优化并不是项目中最后要做的事情。如果我们不从项目开始进行优化,代码就会变得复杂。
  • 如果您真的想要,您可以扩展django-compressor 以满足您的需求,或者在您的部署过程中进行更改以适应此解决方案。我的专业意见是,该解决方案会产生实际且巨大的成本,而收益肯定微不足道。在我看来,您严重低估了这里的成本,并且没有考虑由此产生的可能问题。如果您真的承诺,this project 似乎是相关的。但我强烈反对这个决定。祝你好运!
【解决方案2】:

如果您想在文本编辑器中查看完全扩展的代码,并希望将缩小的 css 代码发送给客户端,请使用 PHP cmets。 首先,制作一个扩展名为 php 的文件。例如:-styles.php 然后将以下代码添加到其中:

<?php header("Content-type: text/css"); ?>

然后添加缩小的代码。为了消除读取难度问题,您可以添加 PHP cmets,例如 您只需添加任意数量的短代码,但不要忘记在 PHP 注释中输入扩展信息。我建议 PHP 注释而不是 css cmets 的原因是 PHP 代码不会被 Web 服务器执行。您可以在文本编辑器中读取缩小代码和扩展代码(以 cmets 为单位),但客户端浏览器只会加载缩小代码。因此,您可以减少传输的数据...... 我认为这会有所帮助....

【讨论】:

  • 您在寻找这样的答案吗?
  • OP 已要求在生产中最小化 css。不是在开发过程中,这使代码变得复杂和混乱。
  • 您想在文本编辑器中拥有包含全文 footer-react-btn 的代码,并且只将短格式传递给客户端浏览器吗?
  • 是的。我需要将缩小的 css 和 html 文件提供给我的客户。
  • 但是您还需要在文本编辑器中查看完全展开的代码对吧?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-23
  • 2022-08-03
  • 2017-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-17
相关资源
最近更新 更多