我正在做一个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资产管道。
发布于 2012-09-04 20:48:00
要做到这一点,唯一的方法是相应地对'source_filenames'列表进行排序,还要记住,当运行collectstatic时,这些文件将按此顺序连接。
流水线将遵守此顺序,它也将避免重复,以便您在执行此操作时是安全的:
'base.coffee',
'*.coffee', 目前在django-pipeline中没有"require“语法。希望这能有所帮助。
https://stackoverflow.com/questions/12242509
复制相似问题