Django-pipeline和javascript依赖项

时间:2012-09-03 05:39:22

标签: javascript django coffeescript requirejs

我正在开发一个Django项目,它使用Django-pipeline进行资产管理,我一直遇到一些问题,我在另一个文件所需的一个javascript文件中定义了一些东西,但第二个文件在第一个文件之前被加载了第二个文件无法正确加载。我可以搞砸PIPELINE_JS中包含的订单,但处理起来却很尴尬。在大多数语言中,您可以执行require foo之类的操作以确保foo已定义,但似乎使用javascript和django-pipeline这是不可能的。我已经看了一下RequireJS,但我不确定我是否可以将它与django-pipeline一起使用。在这种情况下我该怎么办?使用django-pipeline或django的其他人一般做什么用于javascript依赖管理?

作为旁注,我实际上是在使用Coffeescript,而不是直接的Javascript,但这似乎没有任何帮助。在rails中,我可以#= require 'foo'要求另一个coffeescript文件,但这似乎与rails资产管道相关联。

1 个答案:

答案 0 :(得分:1)

执行此操作的唯一方法是相应地订购'source_filenames'列表,还要记住在运行collectstatic时这些文件将按此顺序连接。

Pipeline将尊重此订单,它也会避免重复,以便您在执行此操作时安全:

'base.coffee',
'*.coffee', 

目前在django-pipeline中没有“require”语法。 希望这会有所帮助。