使用Django Pipeline,为什么我遇到JS错误?

时间:2013-09-24 21:08:52

标签: javascript jquery django django-pipeline jsmin

我为一组JS文件配置了Django Pipeline(verison 1.3.15)。我已按照它们在我的页面中正常显示的顺序配置它们。所有东西都可以和collectstatic等一起使用。当我查看源代码时,所有内容似乎都被正确地塞进了1个单片JS文件中,但是当我加载页面时,事情就错了。我包含的jQuery插件(之前工作正常)没有附加到jQuery(通过Firebug验证)(jQuery传递给我的插件的闭包,而不是$,所以它不是noConflict()问题。是否有一个已知的Pipeline问题,我在某种程度上忽略了,在某些情况下你不能将多个JavaScript文件包含在一起,因为它们被压缩的方式(注意:我正在使用JSMin压缩器)?。

1 个答案:

答案 0 :(得分:1)

问题很可能与管道无关,但与js文件的js语法无关。请考虑以下情形:

// file1.js
var foo='bar'

// file2.js
var cat='dog'

当两个文件是分开的时,浏览器没有处理js的问题,因为它自动可以找出每个表达式的结尾,但是当你组合并缩小这两个文件时,你会得到类似的东西:

//combined.js
var foo='bar' var cat='dog'

以上显然是语法错误。所以很可能在你的情况下发生了类似的事情。要解决此问题,请确保所有文件都具有绝对有效的js语法(大多数情况下只缺少分号)。