我正在使用 Yeoman (http://yeoman.io/) 作为前端构建过程,它连接/缩小 css 和 javascript。
在开发环境中,我希望加载单独的、未缩小的源代码以便于调试,而无需设置 Chrome Source Maps (http://code.google.com/p/closure-compiler/wiki/SourceMaps)。在生产中,为了性能,会加载连接的、缩小的源。
我最初的方法是在我的模板中使用条件,如下所示:
{% if DEVELOPEMENT %}
<!-- library -->
<script src="{{ STATIC_URL }}lib/jquery.js"></script>
<script src="{{ STATIC_URL }}lib/some_library.js"></script>
<!-- app -->
<script src="{{ STATIC_URL }}scripts/main.js"></script>
<script src="{{ STATIC_URL }}scripts/app_model.js"></script>
<script src="{{ STATIC_URL }}scripts/app_view.js"></script>
{% else %}
<script src="{{ STATIC_URL }}min/lib.min.js"></script>
<script src="{{ STATIC_URL }}min/app.min.js"></script>
{% endif %}
DEVELOPMENT 使用上下文处理器暴露给模板上下文:
from django.conf import settings # import the settings file
def development(context):
return {'DEVELOPEMENT': settings.DEVELOPEMENT}
这种方法有什么缺点吗?在 Django 中是否有更简洁的方法来实现这一点?