Django管道和javascript依赖项

Django管道和javascript依赖项,javascript,django,coffeescript,requirejs,Javascript,Django,Coffeescript,Requirejs,我正在处理一个Django项目,该项目使用Django管道作为资产,我一直遇到这样的问题:我在一个javascript文件中定义了另一个文件所需的内容,但第二个文件在第一个文件之前加载,因此第二个文件无法正确加载。我可以搞乱将东西包含到管道中的顺序,但这很难处理。在大多数语言中,您可以执行require foo之类的操作,以确保定义了foo,但在javascript和django管道中,这似乎是不可能的。我已经研究了一些RequireJS,但我不确定如何将其用于django管道。在这种情况下我该

我正在处理一个Django项目,该项目使用Django管道作为资产,我一直遇到这样的问题:我在一个javascript文件中定义了另一个文件所需的内容,但第二个文件在第一个文件之前加载,因此第二个文件无法正确加载。我可以搞乱将东西包含到管道中的顺序,但这很难处理。在大多数语言中,您可以执行
require foo
之类的操作,以确保定义了foo,但在javascript和django管道中,这似乎是不可能的。我已经研究了一些RequireJS,但我不确定如何将其用于django管道。在这种情况下我该怎么办?其他使用django管道或django的人在javascript依赖关系管理方面做了什么


顺便说一句,我实际上使用的是Coffeescript,而不是纯Javascript,但这似乎没有任何帮助。在rails中,我可以做
#=require'foo'
来要求另一个coffeescript文件,但它似乎链接到rails资产管道。

唯一的方法是相应地排序
'source\u filenames'
列表,还请记住,在运行
collectstatic
时,这些文件将按此顺序连接

管道将遵守此订单,同时也将避免重复,以确保您在执行此操作时的安全:

'base.coffee',
'*.coffee', 
django管道中目前没有“require”语法。
希望这有帮助。

这两个文件是在一个单独的组中吗?你能提供你的
管道设置吗?大部分在同一组中。管道_JS本质上是一组组组,这些组主要是通过使用glob2.glob对某些目录进行全局化而形成的。例如,在某些目录中,我有content.coffee,它依赖于utils.coffee,到目前为止,我还没有找到一种方法在content.coffee中指出utils.coffee应该在它之前加载。对我来说,一个理想的解决方案不需要打乱管道_JS中字符串的顺序,因为如果我以后添加另一个依赖于utils.coffee的文件,我将不得不再次深入到该文件中。另外,hi@cyberdelia!谢谢你回答我的问题!当库的作者回答你关于Stackoverflow的问题时,令人兴奋:)嗯,我想我可以把更重要的文件分别放在列表中,然后再进行全局搜索。这并不是我所希望的答案,但我想它解决了我眼前的问题。