2 回答

TA贡献1785条经验 获得超8个赞
这可能并不完全是您想要的,因为此策略中有一个丑陋的部分,但是值得一提的是恕我直言。
概述
在浏览器中以调试模式进行较少的编译以进行开发。这使您的集成商可以更快地工作,并可以在浏览器中查看语法错误报告,并使开发过程更加出色。
使用django-compressor进行生产,将您所需要的全部内容预编译为CSS并提高性能。
能够在更少的脚本中重用:引导类,变量等,等等……还有什么不好用的呢?问题在于,您必须让编译器在同一运行中同时编译引导程序和您自己的较少脚本。
Django级别的基本策略
这是您的site_base.html
模板可以包含的方式:
{% if debug %}
<link rel="stylesheet" type="text/css" href="{% static 'autocomplete_light/style.css' %}" />
<link href="{{ STATIC_URL }}bootstrap/less/bootstrap.less" charset="utf-8" type="text/less" rel="stylesheet">
<script type="text/javascript">less = {}; less.env = 'development';</script>
<script type="text/javascript" src="{{ STATIC_URL }}less.js" ></script>
{% else %}
{% compress css %}
<link rel="stylesheet" type="text/css" href="{% static 'autocomplete_light/style.css' %}" />
<link href="{{ STATIC_URL }}bootstrap/less/bootstrap.less" charset="utf-8" type="text/less" rel="stylesheet">
{% endcompress %}
{% endif %}
如您所见,您需要调试上下文处理器。
您的设置如下所示:
COMPRESS_PRECOMPILERS = (
('text/less', 'recess --compile {infile} > {outfile}'),
)
注意:当我这样做时,引导程序仅在较少嵌入式编译器上编译。也许现在支持其他编译器,但我不会打赌。
基本的git策略
要直接从其仓库中重新使用引导程序,请使用git submodules。
较低层次的基本策略
假设我们创建了一个custom.less脚本,该脚本应该能够重用引导程序的内容,即。变量,类,mixin等。
现在,我们遇到了一个问题:编译器必须同时解析两个引导程序的内容custom.less。否则,编译器在编译时如何知道引导程序的变量custom.less?
所以,你可以导入custom.less中bootstrap.less,但会导致您的回购之外的文件的修改(记住:bootstrap.less来自一个子模块)。
解决方案:创建master.less同时导入bootstrap/less/bootstrap.less和的custom.less。不要忘了链接master.less而不是bootstrap.less在您的site_base.html。
添加回答
举报