Symfony 2 - 资产 JavaScript 压缩导致错误

Posted

技术标签:

【中文标题】Symfony 2 - 资产 JavaScript 压缩导致错误【英文标题】:Symfony 2 - Assetic JavaScript compression causing errors 【发布时间】:2012-03-17 20:26:54 【问题描述】:

我正在尝试将 Symfony 2 应用程序置于生产模式。除了压缩的单个 javascript 文件会导致错误并使网站无法正确呈现之外,这一切都运行良好。我是通过浏览器的调试控制台找到的:

未捕获的类型错误:未定义不是函数 Uncaught TypeError: Object [object Object] has no method 'treeview'

第一个错误指的是jQuery插件 树视图是指 jQuery 的一个插件,它呈现树状目录结构。

另一方面,它在开发模式下运行良好,因为它不进行压缩,它只是一个一个地包含每个文件。有人可以帮我解决这个问题吗?

【问题讨论】:

你使用的是 yui 压缩器还是闭包编译器?试试你没用过的,看看能不能用 Symfony 日志是否显示任何 YUI 错误? (假设您使用 YUI 进行压缩) 【参考方案1】:

我找到了解决方案,看来问题与缺少分号有关。 当某些内容是 js 文件中的最后一条语句时,不需要分号,但资产只是将文件连接在一起,并且只添加一个新行。

检查在损坏的插件 javascript 之前包含的文件,并确保它以分号结尾。

【讨论】:

以上是关于Symfony 2 - 资产 JavaScript 压缩导致错误的主要内容,如果未能解决你的问题,请参考以下文章

在 Symfony2 中使用 Twig 作为 JavaScript 的资产过滤器

symfony 2:在css中使用资产作为图像路径[重复]

Symfony 2资产过滤器异常中的指南针

symfony2 - 资产资产:转储命令不能正确创建样式表

如何使 Symfony 2 资产编译以产生不同的文件名?

Symfony 2 Assetic 致命错误:在资产转储中找不到类“Assetic\Util\PathUtils”